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