การติดตั้งและกำหนดค่า SSH - Ubuntu การเปิดโปรแกรมกราฟิกที่อยู่บนคอมพิวเตอร์ระยะไกล การวินิจฉัยปัญหาการเชื่อมต่อ

" คุณเป็นผู้ดูแลระบบมือใหม่และต้องการตั้งค่าเว็บเซิร์ฟเวอร์ของคุณ เป็นต้น ไปที่อินเทอร์เน็ตค้นหาบทความที่เหมาะกับคุณแล้วลุยเลย! มาดูจุดสำคัญจุดหนึ่งกัน: ในบทความเกือบทั้งหมดนี้มีคำสั่งขั้นต่ำเพื่อเริ่มบริการที่จำเป็น โอเค มันได้ผล! คุณได้ทำทุกอย่างเพื่อให้แน่ใจว่ามันไม่หยุดทำงานหรือไม่? ใช้ SSH ผ่านทางอินเทอร์เน็ตหรือไม่ เหตุใดจึงไม่มีใครในบทความของตนเน้นถึงปัญหาที่ผู้ดูแลระบบที่เพิ่งสร้างใหม่จะได้รับจากแนวทางการตั้งค่าเซิร์ฟเวอร์นี้ เนื่องจากบทความเหล่านี้เขียนขึ้นสำหรับผู้เริ่มต้นโดยเฉพาะ เพื่อให้คุณใส่ใจกับปัญหาด้านความปลอดภัยได้ทันเวลา ฉันจะจดบันทึกและลิงก์ไปยังเนื้อหานี้ในบทความของฉันอย่างแน่นอน เตือนล่วงหน้า - เตรียมพร้อม!"

ดังนั้น SSH (secure shell) จึงเป็นเทอร์มินัลเซิร์ฟเวอร์ที่ปลอดภัยที่ให้การเข้าถึงระบบจากระยะไกล ปลอดภัยเพราะ การรับส่งข้อมูลทั้งหมดระหว่างไคลเอนต์และเซิร์ฟเวอร์ถูกเข้ารหัส ปลอดภัยด้วยการตั้งค่าเริ่มต้นหรือไม่? หากคุณมีเซิร์ฟเวอร์ที่สามารถเชื่อมต่อผ่าน SSH ผ่านอินเทอร์เน็ตได้ก็คงมีคนต้องการเลือกรหัสผ่านเพื่อเข้าสู่ระบบอย่างแน่นอน ฉันคิดว่าไม่จำเป็นต้องอธิบายว่าผู้โจมตีที่เป็นไปได้จะสามารถเข้าถึงระบบได้เกือบไม่จำกัด

ในการกระจาย Ubuntu สมัยใหม่ทั้งหมด นักพัฒนาพยายามเพิ่มระดับความปลอดภัยด้วยพารามิเตอร์มาตรฐาน แต่ก็ไม่เพียงพอเสมอไป และบางครั้งเราก็เลือกแนวคิดที่ผิดและทำผิดพลาด

การติดตั้งเซิร์ฟเวอร์ SSH ใน Ubuntu

การติดตั้งเซิร์ฟเวอร์ SSH ใน Ubuntu ทำได้โดยใช้คำสั่งต่อไปนี้:

Sudo apt-get ติดตั้ง ssh openssh-เซิร์ฟเวอร์

หลังการติดตั้ง เซิร์ฟเวอร์ SSH จะถูกลงทะเบียนโดยอัตโนมัติเมื่อเริ่มต้นระบบ คุณสามารถควบคุมการเริ่ม หยุด หรือรีสตาร์ทได้โดยใช้คำสั่ง:

บริการ Sudo ssh หยุด | เริ่มต้น | รีสตาร์ท

ไฟล์การกำหนดค่าหลักของ SSH - เซิร์ฟเวอร์ - ไฟล์ /etc/ssh/sshd_config.phpสามารถอ่านหรือแก้ไขได้โดยผู้ใช้ขั้นสูงเท่านั้น (root) หากต้องการใช้การเปลี่ยนแปลง คุณต้องรีสตาร์ทเซิร์ฟเวอร์ ssh

การตั้งค่าความปลอดภัยของเซิร์ฟเวอร์ SSH

โปรโตคอลเริ่มต้น

ขอย้ำอีกครั้งว่าการแจกแจงสมัยใหม่ใช้โปรโตคอล SSH2 เป็นค่าเริ่มต้น หากในกรณีของคุณบางอย่างเช่น:

พิธีสาร 2.1

คุณจะต้องออกจาก 2:

พิธีสาร 2

ไม่แนะนำให้ใช้โปรโตคอล SSH1 ที่ไม่ปลอดภัย

ตามค่าเริ่มต้น ใน Ubuntu รุ่นล่าสุด การเข้าถึงของผู้ใช้รูทผ่าน SSH นั้นถูกจำกัด

PermitRootLogin โดยไม่ต้องใช้รหัสผ่าน

หมายเลข PermitRootLogin

ด้วยการตั้งค่าเหล่านี้ ผู้ใช้รูทจะไม่สามารถเข้าสู่ระบบผ่าน SSH ได้

ตัวเลือกนี้จะสะดวกหากผู้ดูแลระบบหลายคนทำงานกับเซิร์ฟเวอร์ภายใต้บัญชีผู้ใช้ขั้นสูง ผู้ดูแลระบบจะเข้าสู่ระบบด้วยบัญชีของตน และจากนั้นจะได้รับสิทธิ์รูทเท่านั้น ซึ่งจะช่วยให้ตรวจสอบเซิร์ฟเวอร์และการดำเนินการที่ผู้ดูแลระบบทำได้ง่ายขึ้นมาก

ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับรูทใน Ubuntu ผู้ใช้เริ่มต้นที่สร้างขึ้น (ระหว่างการติดตั้งระบบ) สามารถทำงานด้านการดูแลระบบทั้งหมดผ่าน sudo การเปิดใช้งานผู้ใช้รูทเพื่อเข้าถึงระบบดูเหมือนเป็นการตัดสินใจที่ไม่สมเหตุสมผลสำหรับฉัน

ให้สิทธิ์การเข้าถึงแก่ผู้ใช้หรือกลุ่มที่ระบุเท่านั้น

สมมติว่ามีผู้ใช้จำนวนหนึ่งบนเซิร์ฟเวอร์ของคุณ แต่คุณจะต้องให้สิทธิ์การเข้าถึงผ่าน SSH แก่บางคนเท่านั้น เรามาจำกัดวงผู้ใช้ที่มีสิทธิ์เข้าถึงกันดีกว่า:

อนุญาตให้ผู้ใช้ ผู้ใช้1 ผู้ใช้2

คุณยังสามารถระบุกลุ่มที่ต้องการได้ เช่น ผู้ดูแลระบบ:

ผู้ดูแลระบบ AllowGroups

ปฏิเสธการเข้าถึงด้วยรหัสผ่าน "ว่างเปล่า"

คุณต้องไม่อนุญาตการเข้าถึงระยะไกลอย่างชัดเจนโดยใช้รหัสผ่านที่ว่างเปล่า:

อนุญาตให้เว้นว่างรหัสผ่านหมายเลข

การเปลี่ยนพอร์ตเริ่มต้น

SSH ทำงานบนพอร์ต 22 โดยค่าเริ่มต้น ดังนั้น การโจมตีจำนวนมากจะมุ่งไปที่พอร์ตนี้โดยเฉพาะ จากนั้นจึงใช้การเลือกชื่อผู้ใช้และรหัสผ่าน จะพยายามเข้าถึงเซิร์ฟเวอร์ เราได้แยกชื่อผู้ใช้ที่มีชื่อเสียงที่สุดออกจากฐานข้อมูลของผู้โจมตีที่เป็นไปได้ (รูท) แล้ว และอนุญาตให้เข้าถึงได้เฉพาะผู้ใช้บางรายเท่านั้น ตอนนี้เราจะลดจำนวนการโจมตีที่เป็นไปได้ (บอทที่มองหาช่องโหว่ในพอร์ตมาตรฐาน) โดยการเปลี่ยนพอร์ตเริ่มต้น ( พอร์ตใหม่ต้องฟรี!) .

เรามาเปลี่ยนกัน เช่น เป็น:

พอร์ต 2220

ควรทำความเข้าใจว่าการเปลี่ยนพอร์ตจะไม่ช่วยคุณในทางใดทางหนึ่งในระหว่างการโจมตีแบบเดรัจฉานแบบกำหนดเป้าหมาย (การเดารหัสผ่าน) ผู้โจมตีสามารถเรียกใช้เครื่องสแกนพอร์ตบนที่อยู่ IP ที่เซิร์ฟเวอร์ของคุณตั้งอยู่ ส่งผลให้เขาได้รับรายการพอร์ตที่เปิดอยู่ทั้งหมด

โปรดจำไว้ว่าตอนนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์นอกเหนือจากที่อยู่ IP คุณต้องระบุหมายเลขพอร์ตด้วย

ตัวเลือกที่ใช้งานได้จริงสำหรับการป้องกันแบบ bruteforce คือการใช้คีย์ RSA สำหรับการตรวจสอบสิทธิ์ SSH2 ด้วยวิธีนี้ ผู้ใช้จะสร้างคู่ของคีย์ โดยคีย์หนึ่งเป็นคีย์ส่วนตัวและอีกคีย์หนึ่งเป็นแบบสาธารณะ รหัสสาธารณะตั้งอยู่บนเซิร์ฟเวอร์และใช้ในการตรวจสอบตัวตนของผู้ใช้ นอกจากนี้ การผสมคีย์-พับลิกคีย์ยังสามารถรักษาความปลอดภัยได้ด้วยข้อความรหัสผ่าน ซึ่งช่วยเพิ่มความแข็งแกร่งในการเข้ารหัสลับของการอนุญาต ตรรกะนั้นง่ายมาก หากคุณไม่ใช้รหัสผ่านในการอนุญาต ก็ไม่มีอะไรต้องเดา!

เราเข้าสู่ระบบภายใต้ผู้ใช้ที่เราจะกำหนดค่าการเข้าถึงเซิร์ฟเวอร์ SSH

มาสร้างคีย์ RSA ที่มีความยาว 4096 กัน คุณจะถูกขอให้ระบุตำแหน่งที่เก็บข้อมูล โดยปล่อยให้เป็นค่าเริ่มต้น (/home/UserName/.ssh/id_rsa) คุณจะถูกขอให้ตั้งรหัสผ่านสำหรับคีย์ที่สร้างขึ้นด้วย . หากคุณไม่ระบุรหัสผ่าน คุณจะไม่ต้องป้อนรหัสผ่านระหว่างการรับรองความถูกต้องบนเซิร์ฟเวอร์โดยใช้ใบรับรอง ซึ่งจะปลอดภัยน้อยกว่า ฉันขอแนะนำให้คุณระบุรหัสผ่าน:

Ssh-keygen -t rsa -b 4096

คู่คีย์จะถูกสร้างขึ้นในไดเร็กทอรีที่ระบุ:

id_rsa.pub- สาธารณะ

id_rsa- ส่วนตัว

ตรวจสอบว่าไฟล์ถูกสร้างขึ้นหรือไม่:

ซีดี ~/.ssh ls -al

ตั้งค่าการอนุญาตสำหรับโฟลเดอร์และไฟล์:

Sudo chmod 0700 ~/.ssh/ sudo chmod 0600 ~/.ssh/id*

รหัสส่วนตัวจะต้องถูกถ่ายโอนไปยังไคลเอนต์ในลักษณะที่ปลอดภัย และลบออกจากเซิร์ฟเวอร์เพื่อหลีกเลี่ยงการประนีประนอมกับรหัส

รหัส id_rsa ถูกส่งไปยังไคลเอนต์:

/home/ชื่อผู้ใช้/.ssh/id_rsa

หลังจากนั้นจะถูกลบออกจากเซิร์ฟเวอร์:

Sudo rm /home/ชื่อผู้ใช้/.ssh/id_rsa

มาสร้างไฟล์authorized_keysกัน (เราอยู่ในระบบภายใต้ผู้ใช้เดียวกัน “ชื่อผู้ใช้” ที่สร้างใบรับรอง) และคัดลอกเนื้อหาของไฟล์ลงไป id_rsa.pub, มากำหนดเจ้าของและกำหนดสิทธิ์ให้กับไดเร็กทอรีและไฟล์

Cd ~/.ssh sudo touchauthorized_keys sudo chown ชื่อผู้ใช้:ชื่อผู้ใช้ที่ได้รับอนุญาต_keys sudo cat id_rsa.pub >>authorized_keys sudo chmod 0700 ~/.ssh/ sudo chmod 0600 ~/.ssh/authorized_keys

ตรวจสอบว่าได้คัดลอกข้อความแล้ว:

Sudo cat /home/UserName/.ssh/authorized_keys

หากคัดลอกข้อความสำเร็จ คุณสามารถลบคีย์สาธารณะได้:

Sudo rm /home/ชื่อผู้ใช้/.ssh/id_rsa.pub

Sudo นาโน /etc/ssh/sshd_config.php

คุณต้องยกเลิกหมายเหตุบรรทัดและตั้งค่าพารามิเตอร์ดังนี้:

# อนุญาตการอนุญาตโดยใช้คีย์ PubkeyAuthentication ใช่ # เส้นทางที่จะวางคีย์ซึ่งคุณสามารถเชื่อมต่อสำหรับผู้ใช้แต่ละคนในไฟล์ของคุณเองในไดเร็กทอรีของเขา AuthorizedKeysFile %h/.ssh/authorized_keys

มารีสตาร์ทเซิร์ฟเวอร์ SSH:

บริการ Sudo ssh รีสตาร์ท

หลังจากที่คุณสร้างใบรับรองสำหรับผู้ใช้ทั้งหมด (ที่ต้องการการเข้าถึง SSH) ฉันขอแนะนำให้คุณปิดใช้งานการตรวจสอบสิทธิ์ด้วยรหัสผ่านโดยการแก้ไขไฟล์เดียวกัน /etc/ssh/sshd_config.php

โปรดทราบ ก่อนที่จะปิดใช้งานการตรวจสอบรหัสผ่าน ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงกุญแจได้

รหัสผ่านการตรวจสอบเลขที่ การเชื่อมต่อกับเซิร์ฟเวอร์ SSH ผ่าน PuTTY โดยใช้ใบรับรอง

ขั้นแรก คุณต้องแปลงคีย์ส่วนตัว (รหัสผู้ใช้ UserName) ซึ่งเรารับมาจากเซิร์ฟเวอร์ก่อนหน้านี้

สำหรับสิ่งนี้เราจำเป็นต้องมีโปรแกรม PuTTYgen

อัปโหลดไฟล์คีย์ส่วนตัว " การแปลง - คีย์การนำเข้า".

หากคุณตั้งค่าไว้ ให้ป้อนรหัสผ่าน

เลือก " บันทึกคีย์ส่วนตัว" และบันทึกไฟล์ ppk ที่ได้ ควรเก็บไว้ในที่ที่ไม่สามารถถูกบุกรุกได้

เปิดโปรแกรม PuTTY และกำหนดค่าการเชื่อมต่อ:

เซสชัน - ชื่อโฮสต์ (หรือที่อยู่ IP)ที่อยู่ IP ของโฮสต์ที่กำหนดค่าเซิร์ฟเวอร์ SSH

เซสชัน - พอร์ตพอร์ตที่ระบุในการตั้งค่าเซิร์ฟเวอร์ SSH

การประชุม - บันทึกแล้ว การประชุมชื่อเซสชัน (การเชื่อมต่อ);

การเชื่อมต่อ - ข้อมูล - ชื่อผู้ใช้การเข้าสู่ระบบอัตโนมัติชื่อผู้ใช้;

การเชื่อมต่อ - SSH - การรับรองความถูกต้อง - ไฟล์คีย์ส่วนตัวสำหรับการตรวจสอบสิทธิ์พาธไปยังไฟล์ ppk;

เซสชัน - บันทึกบันทึกเซสชั่น;

เซสชัน - เซสชันที่บันทึกไว้(เลือกเซสชั่นของเรา) - โหลด - เปิด- เซสชันควรเริ่มต้น

ใส่รหัสผ่านแล้วกด Enter หลังจากนั้นเราจะเข้าสู่ระบบ

หากใบรับรองของผู้ใช้ถูกบุกรุก เราจะเพิกถอนใบรับรองและปฏิเสธการเข้าถึงของผู้ใช้

ในการบล็อกการเข้าถึงโฮสต์ของชื่อผู้ใช้โดยใช้ใบรับรอง ให้ไปที่โฟลเดอร์ที่เก็บใบรับรองของเขา:

ซีดี ~/.ssh

ลบไฟล์ใบรับรองสาธารณะ ได้รับอนุญาต_คีย์จากเซิร์ฟเวอร์ OpenSSH หากคุณไม่ได้ลบไฟล์อย่างไม่ใส่ใจ id_rsa.pubและ id_rsaให้ลบออก เราดูเนื้อหาของไดเร็กทอรีโดยใช้คำสั่ง "ls"

เราลบไฟล์ที่จำเป็น:

Sudo rm authorize_key id_rsa.pub id_rsa

แนวทางปฏิบัติที่ดีคือการจำกัดเวลาในการป้อนข้อมูลเพื่อขออนุมัติ รวมถึงการหมดเวลาในกรณีที่ไม่มีการใช้งาน

ในตัวอย่างด้านล่าง เวลานี้จำกัดไว้ที่ 30 วินาที:

เข้าสู่ระบบ GraceTime 30

หมดเวลาเมื่อไม่มีกิจกรรมการเชื่อมต่อ

ตัดการเชื่อมต่อโดยอัตโนมัติหลังจากช่วงระยะเวลาหนึ่งซึ่งมีการบันทึกการไม่มีการใช้งานในคอนโซล

ClientAliveCountMax –พารามิเตอร์ระบุจำนวนข้อความทั้งหมดที่ส่งโดยเซิร์ฟเวอร์ ssh เพื่อตรวจจับกิจกรรมไคลเอ็นต์ ssh ค่าเริ่มต้นคือ 3

ClientAliveInterval– พารามิเตอร์ระบุเวลารอเป็นวินาที หลังจากหมดอายุ เซิร์ฟเวอร์ ssh จะส่งข้อความคำขอไปยังไคลเอนต์ ค่าเริ่มต้นของพารามิเตอร์นี้คือ 0 เซิร์ฟเวอร์ไม่ส่งข้อความเพื่อตรวจสอบ

ปิดการใช้งานไคลเอนต์ ssh โดยอัตโนมัติหลังจาก 5 นาที (300 วินาที):

ClientAliveInterval 300 ClientAliveCountMax 0

SSH คืออะไร?

สสส(ภาษาอังกฤษ Secure SHell - "secure shell") เป็นโปรโตคอลเครือข่ายระดับเซสชันที่ช่วยให้สามารถควบคุมระบบปฏิบัติการจากระยะไกลและเชื่อมต่อ TCP ในช่องสัญญาณได้ (เช่น สำหรับการถ่ายโอนไฟล์) มันมีความคล้ายคลึงในการทำงานกับโปรโตคอล Telnet และ rlogin แต่ต่างจากพวกมันตรงที่เข้ารหัสการรับส่งข้อมูลทั้งหมด รวมถึงรหัสผ่านที่ส่งด้วย

โดยทั่วไปแล้ว เครื่องมือที่ปลอดภัยที่สุด (หรือหนึ่งใน...) สำหรับการเข้าถึงระยะไกลผ่าน IP และเว็บ มีไว้เพื่ออะไร? สมมติว่าคุณต้องเข้าถึงข้อมูลบนเซิร์ฟเวอร์ แม้ว่าการเข้าถึงจะถูกบล็อกจาก IP ของคุณก็ตาม

โปรแกรมสำหรับการทำงานกับ SSH

คำสั่งไฟล์

ls - แสดงรายการไฟล์และไดเร็กทอรี
ls -al - รายการที่จัดรูปแบบพร้อมไดเร็กทอรีและไฟล์ที่ซ่อนอยู่
cd dir - เปลี่ยนไดเร็กทอรีเป็น dir
cd - เปลี่ยนเป็นโฮมไดเร็กตอรี่
pwd - แสดงไดเรกทอรีปัจจุบัน
mkdir dir - สร้างไดเรกทอรี dir
ไฟล์ rm - ลบไฟล์
rm -r dir - ลบไดเรกทอรี dir
ไฟล์ rm -f - บังคับให้ลบไฟล์
rm -rf dir - ลบไดเร็กทอรี dir * อย่างรุนแรง
cp file1 file2 - คัดลอก file1 ไปยัง file2
cp -r dir1 dir2 - คัดลอก dir1 ไปยัง dir2; จะสร้างไดเร็กทอรี dir2 หากไม่มีอยู่
mv file1 file2 - เปลี่ยนชื่อหรือย้าย file1 ไปยัง file2 หาก file2 เป็นไดเร็กทอรีที่มีอยู่ ให้ย้าย file1 ไปยังไดเร็กทอรี file2
ลิงก์ไฟล์ ln -s - สร้างลิงก์สัญลักษณ์ไปยังไฟล์ไฟล์
ไฟล์สัมผัส - สร้างไฟล์
cat > file - อินพุตมาตรฐานโดยตรงไปยังไฟล์
ไฟล์เพิ่มเติม — แสดงเนื้อหาของไฟล์
head file - พิมพ์ไฟล์ 10 บรรทัดแรก
ไฟล์หาง - พิมพ์ไฟล์ 10 บรรทัดสุดท้าย
ไฟล์ tail -f - พิมพ์เนื้อหาของไฟล์ตามขนาดที่ขยาย โดยเริ่มจาก 10 บรรทัดสุดท้าย
ดูไฟล์ - แสดงไฟล์บนหน้าจอ

ป.ล. ในโพสต์ที่กำลังจะมาถึงของฉัน ฉันจะบอกคุณว่าอะไรทำให้ฉันเข้าสู่ SSH ตั้งแต่แรก)

SSH เป็นเทคโนโลยีที่ออกแบบมาเพื่อการดำเนินการคำสั่งจากระยะไกล รวมถึงการเข้าสู่ระบบคอมพิวเตอร์เครื่องอื่นผ่านเครือข่าย การใช้ SSH คุณสามารถอัปโหลดและคัดลอกไฟล์ระหว่างคอมพิวเตอร์ได้ แต่โดยส่วนใหญ่มักใช้เพื่อถ่ายโอนไฟล์เว็บไซต์อย่างปลอดภัยระหว่างคอมพิวเตอร์ของคุณกับเซิร์ฟเวอร์ของผู้ให้บริการโฮสติ้ง

Secure Shell เป็นตัวย่อ SSH ด้วยการใช้เทคโนโลยีนี้ การอนุญาตที่เชื่อถือได้และการถ่ายโอนข้อมูลอย่างปลอดภัยผ่านช่องทางการสื่อสารแบบเปิดจึงเกิดขึ้นได้ SSH แทนที่โปรโตคอล เช่น telnet, rlogin, rcp และ rsh ได้สำเร็จ เพราะ การใช้เทคโนโลยีเหล่านี้เกี่ยวข้องกับปัญหาด้านความปลอดภัยบางประการ:

  1. การส่งข้อมูลผ่านเครือข่ายจะดำเนินการในรูปแบบข้อความที่ชัดเจน ดังนั้นผู้ใช้คอมพิวเตอร์ที่เชื่อมต่อกับเครือข่ายนี้สามารถดักข้อมูลนี้ได้ ปัญหาด้านความปลอดภัยยิ่งทวีความรุนแรงยิ่งขึ้นไปอีกเนื่องจากรหัสผ่านจะถูกส่งในรูปแบบที่ชัดเจน (ไม่ได้เข้ารหัส)
  2. นอกจากนี้ การอนุญาตโดยใช้ที่อยู่ IP (rlogin) และรหัสผ่าน (telnet และ FTP) ยังมีความเสี่ยงสูงจากมุมมองด้านความปลอดภัย SSH ทำหน้าที่ข้างต้นได้ดีมาก แม้จะคำนึงถึงความจริงที่ว่าการเข้าสู่ระบบคอมพิวเตอร์เครื่องอื่นนั้นทำได้โดยการป้อนรหัสผ่าน รหัสผ่านนี้ไม่สามารถดักจับได้ เนื่องจากมีการเข้ารหัสการส่งรหัสผ่าน

SSH ทำงานอย่างไร

เพื่อให้เข้าใจชัดเจนยิ่งขึ้นว่า SSH ทำงานอย่างไร ตัวอย่างภาพจะช่วยเรา ในการทำเช่นนี้ เราจะใช้การเปรียบเทียบโดยใช้ตัวอย่างของ Stirlitz ที่รู้จักกันดี

สมมติว่า Stirlitz จำเป็นต้องถ่ายโอนข้อมูลสำคัญไปยังศูนย์ แต่ศัตรูรู้จักรหัสเก่าอยู่แล้ว จะทำอย่างไรในสถานการณ์เช่นนี้? ทางเลือกที่ดีที่สุดอาจเป็นการจัดประชุมเพื่อโอนรหัสใหม่ไปยัง Stirlitz (นั่นคือสร้างรหัสใหม่) อย่างไรก็ตาม หากการประชุมเป็นไปไม่ได้ ก็เหลือเพียงช่องทางการสื่อสารที่เปิดกว้างซึ่งศัตรูสามารถรับฟังได้ แต่สถานการณ์นี้ก็สามารถแก้ไขได้เช่นกัน

ในช่วงกลางทศวรรษ 1970 นักคณิตศาสตร์ได้พัฒนาอัลกอริทึม RSA คุณสามารถใช้ "กุญแจสาธารณะ" ในการเข้ารหัสได้ สาระสำคัญของอัลกอริธึมนี้คือมีคีย์เข้ารหัสสองคีย์: อันหนึ่งใช้สำหรับการเข้ารหัส และอันที่สองใช้สำหรับถอดรหัส “กุญแจสาธารณะ” คือรหัสเข้ารหัสเนื่องจากไม่เป็นความลับและสามารถส่งได้อย่างอิสระ คีย์ถอดรหัสนั้นต่างจากคีย์เข้ารหัสตรงที่เป็นความลับ (ฉันเรียกมันว่าส่วนตัวด้วย) และนั่นหมายความว่ามีเพียงเจ้าของคีย์นี้เท่านั้นที่สามารถถอดรหัสข้อความได้

การทำงานของอัลกอริทึม RSA ขึ้นอยู่กับความเป็นไปไม่ได้ที่จะได้รับคีย์ส่วนตัวจากพับลิกคีย์ ซึ่งจำเป็นสำหรับการถอดรหัส ดังนั้นหากการดำเนินการของภาพยนตร์ชื่อดัง "Seventeen Moments of Spring" เกิดขึ้นตอนนี้ ศูนย์จะส่งรหัสสาธารณะใหม่ให้กับ Stirlitz ก็เพียงพอแล้ว และมุลเลอร์จะไม่สามารถถอดรหัสข้อความของพวกเขาได้ไม่ว่าเขาจะยากแค่ไหนก็ตาม พยายาม.

ลูกค้า SSH ตัวไหนดีที่สุดที่จะเลือก?

หากต้องการใช้การเข้าถึง Secure Shell เพียงดาวน์โหลดแล้วติดตั้งไคลเอนต์ SSH ใดก็ได้ ผู้เชี่ยวชาญแนะนำให้เลือกใช้ Filezilla ไคลเอนต์ยอดนิยมและฟรี นอกจากนี้ยังมี WinSCP2 เนื่องจากเป็นหนึ่งในโปรแกรมที่มีประสิทธิภาพสูงสุดที่สามารถทำงานบนโปรโตคอล SSH2 ได้ โปรแกรมนี้มีลักษณะคล้ายกับไคลเอนต์ FTP ที่รู้จักกันดี - CuteFTP แต่ก็มีอินเทอร์เฟซแบบกราฟิกที่ดีและยังมีความสามารถในการเปรียบเทียบเนื้อหาไดเร็กทอรี อันดับสามในรายการนี้คือโปรแกรม PuTTY (วิธีตั้งค่า PuTTY) ซึ่งมีแฟนๆ อยู่เหมือนกัน แต่ผู้เชี่ยวชาญของเราชอบมันน้อยที่สุด

ในการตั้งค่าไคลเอ็นต์ SSH เพียงระบุชื่อโดเมนของคุณ (หรือ ID ผู้ใช้) ที่อยู่ IP รหัสผ่าน และเลือกโปรโตคอล SHH คุณสามารถปล่อยให้การตั้งค่าอื่นๆ เป็นค่าเริ่มต้นได้ เมื่อสร้างการเชื่อมต่อแล้ว เซิร์ฟเวอร์จะส่งคำขอรหัสผ่านและชื่อผู้ใช้ คุณควรป้อนข้อมูลที่คล้ายกับข้อมูลที่คุณใช้เพื่อรับการเข้าถึง FTP (โดยปกติแล้วผู้ให้บริการโฮสติ้งจะส่งสิ่งเหล่านี้เป็นตัวอักษรตัวแรกหลังจากสร้างบัญชี)

มักเกิดขึ้นที่ผู้ให้บริการโฮสต์สามารถเข้าถึง SSH เป็นบริการชำระเงินเพิ่มเติม ดังนั้น หากคุณไม่สามารถกำหนดค่าบางอย่างได้ โปรดติดต่อฝ่ายสนับสนุนของโฮสต์เพื่อค้นหาสาเหตุ

เอกสารนี้จะช่วยคุณเชื่อมต่อกับเซิร์ฟเวอร์เสมือนของคุณโดยใช้โปรโตคอล SSH และ SFTP

SSH (Secure SHell) เป็นโปรโตคอลเครือข่ายระดับเซสชันที่ช่วยให้สามารถควบคุมระบบปฏิบัติการจากระยะไกลและเชื่อมต่อ TCP ได้ (เช่น สำหรับการถ่ายโอนไฟล์) มันมีความคล้ายคลึงในการทำงานกับโปรโตคอล Telnet และ rlogin แต่ต่างจากพวกมันตรงที่เข้ารหัสการรับส่งข้อมูลทั้งหมด รวมถึงรหัสผ่านที่ส่งด้วย

SFTP (SSH File Transfer Protocol) เป็นโปรโตคอลระดับแอปพลิเคชันที่ออกแบบมาเพื่อคัดลอกและดำเนินการอื่นๆ กับไฟล์ผ่านการเชื่อมต่อที่เชื่อถือได้และปลอดภัย มีความเข้าใจผิดว่า SFTP เป็นเพียง FTP ปกติที่ทำงานบน SSH ในความเป็นจริง SFTP เป็นโปรโตคอลใหม่ที่ออกแบบมาตั้งแต่ต้นจนจบ

ข้อมูลสำหรับการเชื่อมต่อกับเซิร์ฟเวอร์เสมือน

คุณสามารถรับข้อมูลทั้งหมดที่จำเป็นในการเชื่อมต่อกับเซิร์ฟเวอร์เสมือนของคุณผ่าน SSH บนหน้าหลักของแผงควบคุม

เราจำเป็นต้องทราบที่อยู่ IP ของเซิร์ฟเวอร์เสมือน (1) และรหัสผ่านสำหรับผู้ใช้รูท (2)

เมื่อได้รับข้อมูลที่จำเป็นสำหรับการเชื่อมต่อแล้ว คุณสามารถดำเนินการตามกระบวนการได้โดยตรง

การเชื่อมต่อกับเซิร์ฟเวอร์เสมือนผ่าน SSH จาก Mac OS X หรือ Linux

ผู้ใช้ระบบปฏิบัติการ Mac OS X หรือ Linux สามารถใช้แอปพลิเคชันเทอร์มินัลมาตรฐานเพื่อเชื่อมต่อกับเซิร์ฟเวอร์เสมือนผ่านโปรโตคอล SSH หากต้องการเชื่อมต่อกับเซิร์ฟเวอร์เสมือนของคุณ ให้ใช้คำสั่งต่อไปนี้ (เปลี่ยน 188.127.236.62 เป็นที่อยู่ IP ของเซิร์ฟเวอร์เสมือนของคุณ):

สช [ป้องกันอีเมล]

นี่คือลักษณะของกระบวนการเชื่อมต่อกับเซิร์ฟเวอร์เสมือนในเทอร์มินัล Unix หรือ Mac OS X:

สช [ป้องกันอีเมล]ไม่สามารถสร้างความถูกต้องของโฮสต์ "188.127.236.62 (188.127.236.62)" ได้ ลายนิ้วมือคีย์ RSA คือ 4f:e8:84:42:51:80:48:70:45:6c:69:47:79: e7:c0:56 คุณแน่ใจหรือไม่ว่าต้องการเชื่อมต่อต่อไป (ใช่/ไม่ใช่) คำเตือน: เพิ่ม "188.127.236.62" (RSA) ลงในรายการโฮสต์ที่รู้จักอย่างถาวร [ป้องกันอีเมล]"รหัสผ่าน: #

การเชื่อมต่อกับเซิร์ฟเวอร์เสมือนผ่าน SSH จาก Windows

ผู้ใช้ระบบปฏิบัติการ Windows สามารถใช้โปรแกรม PuTTY เพื่อเชื่อมต่อกับเซิร์ฟเวอร์เสมือนผ่านโปรโตคอล SSH PuTTY เป็นไคลเอนต์ telnet/ssh ที่ได้รับความนิยมอย่างมาก แจกจ่ายฟรี

เว็บไซต์อย่างเป็นทางการของโปรแกรม - http://www.chiark.greenend.org.uk/~sgtatham/putty/ เว็บไซต์สนับสนุนภาษารัสเซีย - http://putty.org.ru/

หลังจากเริ่มโปรแกรม คุณจะเห็นหน้าต่างดังต่อไปนี้:

ป้อนที่อยู่ IP ของเซิร์ฟเวอร์เสมือนของคุณในช่อง "ชื่อโฮสต์ (หรือที่อยู่ IP)" (ในตัวอย่าง ให้ป้อน helios.asu) ตรวจสอบให้แน่ใจว่าได้เลือกปุ่มตัวเลือก "SSH" ในรายการ "โปรโตคอล"

นอกจากนี้ เพื่อไม่ให้ป้อนที่อยู่และประเภทโปรโตคอลในแต่ละครั้ง คุณสามารถบันทึกเซสชันได้ ในการดำเนินการนี้ ให้ป้อนชื่อในช่อง "เซสชันที่บันทึกไว้" แล้วคลิกปุ่ม "บันทึก"

เซสชันของคุณจะปรากฏต่ำกว่าในรายการ หากต้องการโหลดเซสชันที่บันทึกไว้ คุณต้องเลือกเซสชันจากรายการแล้วคลิกปุ่ม "โหลด"

หากต้องการเชื่อมต่อ ให้คลิกปุ่ม "เปิด" ที่ด้านล่างของแบบฟอร์ม ข้อความต่อไปนี้อาจปรากฏขึ้น:

หากคุณแน่ใจว่าคุณกำลังเชื่อมต่อกับโฮสต์ที่ถูกต้อง ให้คลิกปุ่ม "ใช่" ต่อไปนี้จะปรากฏขึ้น:

ป้อนชื่อผู้ใช้ของคุณ (root) จากนั้นรหัสผ่าน นี่คือคอนโซลระบบ:

หากต้องการออก ให้ป้อน:

การเชื่อมต่อกับเซิร์ฟเวอร์เสมือนผ่าน SFTP

ตามค่าเริ่มต้น คุณไม่จำเป็นต้องตั้งค่า FileZilla เราจะช่วยคุณเริ่มต้นใช้งานโปรแกรมได้ทันที

ในการเชื่อมต่อกับเซิร์ฟเวอร์ SFTP ให้ป้อนที่อยู่ IP ของเซิร์ฟเวอร์เสมือนของคุณในช่องการเชื่อมต่อด่วน (แทนที่จะป้อน example.com ดังแสดงในรูปด้านล่าง ให้ป้อน sftp://ip_address_of_your_vps) ป้อนพอร์ตการเชื่อมต่อในช่องที่เหมาะสมสำหรับ SFTP - 22 ป้อนชื่อผู้ใช้และรหัสผ่านในช่องที่เหมาะสม คลิกที่ปุ่ม "เชื่อมต่อด่วน" หรือกด Enter เพื่อเชื่อมต่อ

โปรดทราบว่าแผงการเชื่อมต่อด่วนตามชื่อที่แนะนำ ได้รับการออกแบบมาเพื่อการเชื่อมต่อที่รวดเร็ว เช่น คุณไม่สามารถแก้ไขรายการการเชื่อมต่อ 10 รายการล่าสุดได้ หากต้องการบันทึกการตั้งค่าการเชื่อมต่อ ให้ใช้ Site Manager

ใช้ FileZilla Site Manager เพื่อตั้งค่าพารามิเตอร์ของไซต์และเชื่อมต่อกับเซิร์ฟเวอร์ SFTP ที่ต้องการ ใน Site Manager คุณสามารถบันทึกการเชื่อมต่อและกำหนดการตั้งค่าได้มากกว่าที่มีอยู่ในแผง Quick Connect

หลังจากเชื่อมต่อแล้ว รายการไฟล์และไดเร็กทอรีจะแสดงทางด้านขวาของหน้าต่างหลัก ไดเรกทอรีปัจจุบันจะแสดงในช่องที่แก้ไขได้ที่ด้านบน ด้านล่างนี้เป็นแผนผังไดเร็กทอรีระยะไกลและต่ำกว่านั้นคือเนื้อหาของไดเร็กทอรีระยะไกลปัจจุบัน มีสามวิธีในการย้ายไปยังไดเร็กทอรีอื่น ขั้นแรก: ดับเบิลคลิกที่ไดเร็กทอรีในรายการ ประการที่สอง: คลิกที่ไดเร็กทอรีในแผนผัง วิธีสุดท้าย: ป้อนชื่อไดเรกทอรีในช่องที่แก้ไขได้ แล้วกด Enter ให้ความสนใจกับไดเร็กทอรี “..” ซึ่งมีอยู่ในไดเร็กทอรีอื่นๆ เกือบทั้งหมด ลิงค์นี้ช่วยให้คุณสามารถนำทางไปยังไดเร็กทอรีหลักของไดเร็กทอรีปัจจุบัน

การนำทางบนคอมพิวเตอร์ของคุณทำงานเกือบจะเหมือนกับบนเซิร์ฟเวอร์ ไดเร็กทอรีในเครื่องปัจจุบันและแผนผังไดเร็กทอรีเริ่มต้นจะแสดงทางด้านซ้ายของหน้าต่างหลัก

เอกสารรายละเอียดเกี่ยวกับการทำงานกับ FileZilla สามารถพบได้บนเว็บไซต์อย่างเป็นทางการที่ http://filezilla.ru/documentation/Using

เงื่อนไขการใช้เอกสาร

คุณสามารถใช้เนื้อหาที่นำเสนอในหน้านี้ได้ตามดุลยพินิจของคุณเอง อนุญาตให้คัดลอกและแจกจ่ายเนื้อหาที่ให้มาโดยไม่ต้องเปลี่ยนแปลงเนื้อหาและไม่ต้องแจ้งล่วงหน้าต่อฝ่ายบริหารของ Clodo.ru

เราจะขอบคุณสำหรับรายงานข้อผิดพลาดในเอกสารที่ให้มาและคำแนะนำในการปรับปรุงเอกสาร หากมีคำถามเหล่านี้ โปรดติดต่อ: [ป้องกันอีเมล]- เมื่อติดต่ออย่าลืมใส่ URL ของสิ่งพิมพ์ด้วย