วลีรหัสผ่านที่สามารถตั้งค่าบนคีย์ส่วนตัวนั้นไม่เกี่ยวข้องกับเซิร์ฟเวอร์ SSHหรือการเชื่อมต่อกับมัน การตั้งข้อความรหัสผ่านให้กับคีย์ส่วนตัวเป็นเพียงมาตรการรักษาความปลอดภัยที่เจ้าของกุญแจอาจใช้เพื่อป้องกันการเข้าถึงเชลล์ระยะไกลของบุคคลที่สามในกรณีที่รหัสส่วนตัวถูกขโมย
น่าเสียดายที่คุณไม่สามารถบังคับให้ผู้ใช้ล็อคคีย์ส่วนตัวด้วยวลีรหัสผ่าน บางครั้งต้องใช้ไพรเวตคีย์ที่ไม่มีการป้องกันเพื่อให้สามารถเข้าถึงเซิร์ฟเวอร์ SSH ระยะไกลโดยอัตโนมัติ หนึ่งนิสัยที่ดีผมขอแนะนำให้สำหรับกรณีดังกล่าวคือการให้คำแนะนำแก่ผู้ใช้เพื่อกัญชาknown_hostsไฟล์ (เก็บไว้ที่~ / .ssh / known_hosts ) ซึ่งช่วยให้ข้อมูลเกี่ยวกับโฮสต์ระยะไกลที่เชื่อมต่อผู้ใช้ในการใช้คำสั่งต่อไปนี้:
ssh-keygen -H -f ~/.ssh/known_hosts
วิธีนี้แม้ว่าบุคคลที่สามจะได้รับการเข้าถึงคีย์ส่วนตัวที่ไม่มีการป้องกันมันจะยากอย่างยิ่งที่จะค้นหาว่าโฮสต์ระยะไกลคีย์นี้ถูกต้อง แน่นอนว่าการล้างประวัติเชลล์เป็นสิ่งจำเป็นสำหรับเทคนิคนี้เพื่อให้มีค่าใด ๆ
นอกจากนี้สิ่งอื่นที่คุณควรจำไว้เสมอคือไม่อนุญาตให้รูทเข้าสู่ระบบจากระยะไกลโดยเพิ่มสิ่งต่อไปนี้ในการกำหนดค่าเซิร์ฟเวอร์ SSH ของคุณ (sshd_config):
PermitRootLogin no
ในทางตรงกันข้ามหากคุณต้องการป้องกันผู้ใช้จากการใช้กุญแจในการตรวจสอบ แต่ใช้รหัสผ่านแทนคุณควรเพิ่มสิ่งต่อไปนี้ในsshd_configของคุณ:
PasswordAuthentication yes
PubkeyAuthentication no