ข้อความที่คุณเห็นเป็นปัญหาแยกต่างหาก ขอให้คุณยืนยันว่าโฮสต์ที่คุณกำลังเชื่อมต่อนั้นเป็นโฮสต์ที่คุณคาดหวัง ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
จากเซิร์ฟเวอร์คุณจะได้รับลายนิ้วมือโดยใช้ จากนั้นเมื่อคุณเชื่อมต่อจากระยะไกลเป็นครั้งแรกคุณสามารถตรวจสอบให้แน่ใจว่าลายนิ้วมือตรงกัน
คีย์โฮสต์ที่เห็นการทำงานที่นี่แก้ไขปัญหาของมนุษย์ในการโจมตีตรงกลาง - DNS อาจถูกบ่อนทำลายและคุณกำลังเชื่อมต่อกับเครื่องของคู่แข่งแทนที่จะเป็นของคุณเอง เครื่องดังกล่าวจะรวบรวมข้อมูลประจำตัวของคุณและส่งต่อการเชื่อมต่อของคุณไปยังเซิร์ฟเวอร์จริงเพื่อขโมยข้อมูลของคุณโดยที่คุณไม่รู้ตัว ตรวจสอบให้แน่ใจว่าโฮสต์คีย์ตรงกันป้องกันสิ่งนี้ไม่ให้เกิดขึ้นเว้นแต่ผู้โจมตีจะขโมยรหัสสาธารณะของเซิร์ฟเวอร์ของคุณ
ยังมีปัญหาอยู่ - คุณจะรู้ได้อย่างไรว่าคีย์ใดถูก หลังจากการเชื่อมต่อครั้งแรกกุญแจสาธารณะจะถูกเก็บไว้ใน~/.ssh/known_hosts
ไฟล์ของคุณดังนั้นการเชื่อมต่อที่ตามมาก็ใช้ได้ แต่เป็นครั้งแรกที่คุณต้องใช้วิธีบางอย่างในการรับลายนิ้วมือหรืออื่น ๆ ที่คุณทำตามรุ่น "TOFU": ความน่าเชื่อถือในการใช้ครั้งแรก
แต่สิ่งนี้ไม่มีอะไรเกี่ยวข้องกับรหัสผ่านกับคีย์ยกเว้นว่าทั้งกุญแจและรหัสผ่านอาจถูกขโมยได้จากการโจมตีนี้ - ในแง่หนึ่งคือความเสี่ยงที่คุณต้องการ
มีอย่างน้อยสามเหตุผลที่รหัสผ่านแย่กว่ากุญแจ:
- พวกเขาสามารถบังคับสัตว์เดรัจฉาน รหัสผ่าน 8 ตัวอักษรที่ผู้ใช้เลือกโดยทั่วไปมีประมาณ 30 บิตของการคาดเดาเอนโทรปี คู่คีย์สาธารณะ / ส่วนตัว ssh คือ 1024 บิตหรือมากกว่า เป็นไปไม่ได้อย่างมีประสิทธิภาพที่จะบังคับใช้คีย์ ssh แต่การคาดเดารหัสผ่านอัตโนมัติจะเกิดขึ้นตลอดเวลา
- พวกเขาสามารถเป็นใบ้ ผู้ใช้เลือกรหัสผ่านที่น่ากลัวเป็นประจำแม้จะมีข้อ จำกัด และพวกเขามักจะใช้รหัสผ่านที่ยากขึ้นในหลาย ๆ ที่ สิ่งนี้ทำให้การโจมตีง่ายขึ้น
- รหัสผ่านสามารถถูกขโมยจากระยะไกล เมื่อคุณใช้ SSH รหัสผ่านจะถูกเข้ารหัสบน wire แต่เป็นเรื่องปกติมากที่เซิร์ฟเวอร์ ssh จะถูกแทนที่ในระบบที่ถูกบุกรุกด้วยรหัสที่บันทึกรหัสผ่านทั้งหมด ด้วยคีย์คีย์ส่วนตัวจะยังคงอยู่บนระบบโลคัลและไม่เคยถูกส่งเลยดังนั้นจึงไม่สามารถถูกขโมยได้หากไม่ส่งผลกระทบต่อเครื่องลูกข่าย
นอกจากนี้ปุ่ม ssh ยังมอบความสะดวกสบายเมื่อใช้งานกับสิ่งต่าง ๆ เช่นssh-agent
คุณจะได้รับการเชื่อมต่อที่ไม่ยุ่งยากโดยไม่ต้องทำการพิสูจน์ตัวตนใหม่ทุกครั้งในขณะที่ยังคงรักษาความปลอดภัยในระดับที่เหมาะสม
ไม่มีข้อได้เปรียบที่สำคัญในการขอทั้งคู่เพราะคนที่เข้าถึงกุญแจส่วนตัวได้อย่างพอสมควรสามารถขโมยรหัสผ่านของผู้ใช้ได้อย่างง่ายดาย หากคุณต้องการความปลอดภัยมากขึ้นกว่านี้พิจารณามองระบบการตรวจสอบสองปัจจัยเช่น RSA SecurID หรือWikid