เรียนรู้ Ins และ Out of OpenSSH บน Linux PC ของคุณ

Sep 20, 2025
ความเป็นส่วนตัวและความปลอดภัย
เนื้อหาที่ไม่ถูกแคช

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

แม้ว่าเราจะเขียนคู่มือนี้โดยคำนึงถึง Linux แต่ก็สามารถใช้ได้กับ OpenSSH ใน Mac OS X และ Windows 7 ผ่าน Cygwin .

เหตุใดจึงปลอดภัย

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

เมื่อเราตัดสินใจที่จะเริ่มการเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นเรามักจะใช้โปรโตคอลที่ใช้งานง่าย Telnet และ FTP เป็นสิ่งที่ดี เราส่งข้อมูลไปยังเซิร์ฟเวอร์ระยะไกลจากนั้นเราจะได้รับการยืนยันกลับเกี่ยวกับการเชื่อมต่อของเรา เพื่อสร้างความปลอดภัยบางประเภทโปรโตคอลเหล่านี้มักใช้การผสมชื่อผู้ใช้และรหัสผ่าน นั่นหมายความว่าปลอดภัยทั้งหมดใช่มั้ย? ไม่ถูกต้อง!

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

ตอนนี้เรามาดูการเข้ารหัส SSL ซึ่งเป็นประเภทที่ทำให้ HTTP ปลอดภัยมากขึ้น ที่นี่เรามีที่ทำการไปรษณีย์ที่จัดการการติดต่อซึ่งจะตรวจสอบว่าผู้รับของคุณเป็นคนที่เขาอ้างว่าเป็นหรือไม่และมีกฎหมายป้องกันไม่ให้มีการตรวจสอบจดหมายของคุณ โดยรวมมีความปลอดภัยมากขึ้นและหน่วยงานกลาง - Verisign เป็นหนึ่งในตัวอย่าง HTTPS ของเรา - ตรวจสอบให้แน่ใจว่าบุคคลที่คุณส่งอีเมลไปชำระเงิน โดยไม่อนุญาตให้ใช้โปสการ์ด (ข้อมูลรับรองที่ไม่ได้เข้ารหัส) แทนที่จะมอบอำนาจให้ซองจดหมายจริง

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

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

โฮสต์คีย์

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

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

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

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

ตรวจสอบรหัสโฮสต์ของระบบของคุณ

มีอัลกอริทึมการเข้ารหัส 4 ประเภทที่ใช้ในการสร้างคีย์ แต่ค่าเริ่มต้นของ OpenSSH เมื่อต้นปีนี้คือ ECDSA ( ด้วยเหตุผลที่ดี ). เราจะมุ่งเน้นไปที่สิ่งนั้นในวันนี้ นี่คือคำสั่งที่คุณสามารถเรียกใช้บนเซิร์ฟเวอร์ SSH ที่คุณเข้าถึงได้:

ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l

ผลลัพธ์ของคุณควรคืนค่าดังนี้:

256 ца: 62: еа: щц: еч: яй: 2е: аш: яч: 20: 11: дб: яц: 78: цз: чц/етц/сш/сш_хост_ецдса_кей.пуб

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

คุณสามารถดูโฮสต์ทั้งหมดที่คุณเชื่อมต่อผ่าน SSH ได้โดยดูที่ไฟล์ known_hosts ของคุณ โดยปกติจะอยู่ที่:

~ / .ssh / known_hosts

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

การเปลี่ยนคีย์โฮสต์และปัญหา

มีสาเหตุสองสามประการที่ทำให้คีย์โฮสต์เปลี่ยนไปหรือไม่ตรงกับสิ่งที่บันทึกไว้ในไฟล์ known_hosts ของคุณ

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

เป็นไปได้มากว่าปัญหาคือ 1 ใน 3 ข้อแรกและคุณสามารถเพิกเฉยต่อการเปลี่ยนแปลงได้ หากสัญญาเช่า IP / DNS มีการเปลี่ยนแปลงอาจมีปัญหากับเซิร์ฟเวอร์และคุณอาจถูกส่งไปยังเครื่องอื่น หากคุณไม่แน่ใจว่าสาเหตุของการเปลี่ยนแปลงคืออะไรคุณควรคิดว่านี่เป็นข้อสุดท้ายในรายการ

OpenSSH จัดการโฮสต์ที่ไม่รู้จักอย่างไร

OpenSSH มีการตั้งค่าสำหรับวิธีจัดการโฮสต์ที่ไม่รู้จักซึ่งแสดงในตัวแปร“ StrictHostKeyChecking” (โดยไม่มีเครื่องหมายคำพูด)

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

  • StrictHostKeyChecking ถูกตั้งค่าเป็น no; OpenSSH จะเชื่อมต่อกับเซิร์ฟเวอร์ SSH โดยอัตโนมัติโดยไม่คำนึงถึงสถานะคีย์โฮสต์ สิ่งนี้ไม่ปลอดภัยและไม่แนะนำยกเว้นในกรณีที่คุณกำลังเพิ่มโฮสต์จำนวนมากหลังจากติดตั้งระบบปฏิบัติการของคุณใหม่หลังจากนั้นคุณจะเปลี่ยนกลับ
  • StrictHostKeyChecking ถูกตั้งค่าให้ถาม; OpenSSH จะแสดงคีย์โฮสต์ใหม่ให้คุณและขอการยืนยันก่อนเพิ่ม จะป้องกันไม่ให้การเชื่อมต่อไปยังคีย์โฮสต์ที่เปลี่ยนแปลง นี่คือค่าเริ่มต้น
  • StrictHostKeyChecking ตั้งค่าเป็นใช่ ตรงกันข้ามกับ“ ไม่” สิ่งนี้จะป้องกันไม่ให้คุณเชื่อมต่อกับโฮสต์ใด ๆ ที่ยังไม่มีอยู่ในไฟล์ known_hosts ของคุณ

คุณสามารถเปลี่ยนตัวแปรนี้ได้อย่างง่ายดายบนบรรทัดคำสั่งโดยใช้กระบวนทัศน์ต่อไปนี้:

ssh -o 'StrictHostKeyChecking [option]' user @ host

แทนที่ [option] ด้วย“ ไม่”“ ถาม” หรือ“ ใช่” โปรดทราบว่ามีอัญประกาศตรงรอบตัวแปรนี้และการตั้งค่า แทนที่ user @ host ด้วยชื่อผู้ใช้และชื่อโฮสต์ของเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อ ตัวอย่างเช่น:

ssh -o 'StrictHostKeyChecking ask' [email protected]

โฮสต์ที่ถูกบล็อกเนื่องจากมีการเปลี่ยนคีย์

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

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

เราจะไปที่นั่น. ดูว่ามันอ้างอิงไฟล์ที่เราต้องการแก้ไขอย่างไร? มันให้เบอร์ไลน์เราด้วยซ้ำ! มาเปิดไฟล์นั้นใน Nano:

นี่คือคีย์ที่ไม่เหมาะสมของเราในบรรทัดที่ 1 สิ่งที่เราต้องทำคือกด Ctrl + K เพื่อตัดทั้งบรรทัด

ดีกว่ามาก! ตอนนี้เรากด Ctrl + O เพื่อเขียน (บันทึก) ไฟล์แล้วกด Ctrl + X เพื่อออก

ตอนนี้เราได้รับคำแนะนำที่ดีแทนซึ่งเราสามารถตอบกลับด้วยคำว่า“ ใช่”

การสร้างคีย์โฮสต์ใหม่

สำหรับบันทึกนี้ไม่มีเหตุผลมากเกินไปที่คุณจะเปลี่ยนรหัสโฮสต์ของคุณเลย แต่ถ้าคุณพบความต้องการคุณสามารถทำได้อย่างง่ายดาย

ขั้นแรกเปลี่ยนเป็นไดเร็กทอรีระบบที่เหมาะสม:

ซีดี / etc / ssh /

ซึ่งโดยปกติจะเป็นที่ที่คีย์โฮสต์ส่วนกลางแม้ว่าจะมีการวาง distros ไว้ที่อื่นก็ตาม หากมีข้อสงสัยโปรดตรวจสอบเอกสารของคุณ!

ต่อไปเราจะลบคีย์เก่าทั้งหมด

sudo rm / etc / ssh / ssh_host_ *

หรือคุณอาจต้องการย้ายไปยังไดเร็กทอรีสำรองที่ปลอดภัย แค่คิด!

จากนั้นเราสามารถบอกให้เซิร์ฟเวอร์ OpenSSH กำหนดค่าตัวเองใหม่ได้:

sudo dpkg- กำหนดค่า openssh-server ใหม่

คุณจะเห็นข้อความแจ้งขณะที่คอมพิวเตอร์ของคุณสร้างคีย์ใหม่ ตา - ดา!


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

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

Learn SSH Basics In Linux

How To Install And Use SSH On Linux


ความเป็นส่วนตัวและความปลอดภัย - บทความยอดนิยม

วิธีตั้งค่าการ จำกัด เวลาสำหรับบัญชีปกติใน Windows 10

ความเป็นส่วนตัวและความปลอดภัย Jul 14, 2025

การควบคุมโดยผู้ปกครองใน Windows 10 นั้นค่อนข้างแข็งแกร่ง แต่ในการใ..


วิธีตั้งค่ากล้องเพื่อตรวจสอบบ้านของคุณเมื่อคุณไม่อยู่

ความเป็นส่วนตัวและความปลอดภัย Jul 27, 2025

เนื้อหาที่ไม่ถูกแคช ไม่ว่าคุณจะไม่อยู่บ้านขณะเดินทางหรือแค่ช�..


3 คำแนะนำสำหรับ mRemoteNG Remote Connections Manager

ความเป็นส่วนตัวและความปลอดภัย Jan 6, 2025

คุณเคยพบว่าตัวเองเปิด WinSCP ไปยังเซิร์ฟเวอร์เดียวกันกับที่คุณเพิ�..


ส่งอีเมลที่เข้ารหัสผ่าน Gmail โดยใช้ส่วนขยายของ Chrome

ความเป็นส่วนตัวและความปลอดภัย May 19, 2025

เนื้อหาที่ไม่ถูกแคช ต้องการส่งข้อมูลที่ละเอียดอ่อนทางอีเมลหร�..


เรียนรู้ว่าสิ่งต่างๆทำงานร่วมกับ How-To Geek Explainers ที่ดีที่สุดสำหรับปี 2011 อย่างไร

ความเป็นส่วนตัวและความปลอดภัย Jun 26, 2025

เนื้อหาที่ไม่ถูกแคช How-To Geek เป็นสถานที่ที่ยอดเยี่ยมในการเรียนรู้�..


ตรวจสอบปลายทางของ URL แบบย่อด้วยวิธีง่ายๆ

ความเป็นส่วนตัวและความปลอดภัย Jun 10, 2025

เนื้อหาที่ไม่ถูกแคช ผิดหวังที่ไม่เคยรู้สึกแน่ใจว่า URL แบบย่อชี้ไปท..


Beginner Geek: เพิ่มบัญชีผู้ใช้ใหม่ใน Windows 7

ความเป็นส่วนตัวและความปลอดภัย Oct 26, 2025

เนื้อหาที่ไม่ถูกแคช หากคุณเป็นผู้ใช้ตามบ้านที่ข้ามรุ่น Windows Vista และก�..


แก้ไขสำหรับ Outlook 2007 ขอรหัสผ่านบน Vista อย่างต่อเนื่อง

ความเป็นส่วนตัวและความปลอดภัย Nov 25, 2024

เนื้อหาที่ไม่ถูกแคช หากคุณกำลังประสบปัญหาที่น่าโมโหซึ่ง Outlook จะถาม�..


หมวดหมู่