เมื่อคุณสร้างเซสชัน SSH จะมีคู่คีย์ที่แตกต่างกันสองคู่ (ที่มีลายนิ้วมือสำหรับแต่ละคู่) เข้ามาเกี่ยวข้อง ~/.ssh
หนึ่งคือกุญแจสำคัญของผู้ใช้ที่ถูกเก็บไว้ใน บางครั้งข้อมูลประจำตัวของคีย์ SSH ของผู้ใช้จะใช้เป็นข้อมูลรับรองเพื่อเข้าสู่คอมพิวเตอร์เครื่องอื่น (หากคุณตั้งค่าการเข้าสู่ระบบด้วยคีย์)
อีกอันคือกุญแจของเซิร์ฟเวอร์ SSH นี่คือกุญแจที่คุณเห็นลายนิ้วมือเมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์อื่นเป็นครั้งแรก รหัสประจำตัวของคีย์นี้ใช้เพื่อให้แน่ใจว่าคุณกำลังเข้าสู่เซิร์ฟเวอร์ SSH ที่คุณต้องการ นี่เป็นสิ่งสำคัญหากคุณใช้รหัสผ่านเพราะคุณไม่ต้องการลองลงชื่อเข้าใช้เครื่องโจมตีโดยไม่ตั้งใจ: ผู้โจมตีจะได้รับรหัสผ่านของคุณเมื่อคุณพิมพ์รหัสผ่านจากนั้นผู้โจมตีสามารถเข้าสู่เครื่องที่คุณคิดว่าคุณกำลังเข้าสู่ระบบ ไป! (นี้เป็นที่รู้จักในฐานะ"คนในการโจมตีกลาง" ) ปุ่มที่ผู้ใช้เซิร์ฟเวอร์ SSH เพื่อระบุตัวเองเมื่อคุณเข้าสู่ระบบมันจะอยู่ในและมักจะตั้งชื่อสิ่งที่ต้องการ/etc/ssh/
ssh_host_rsa_key
คุณสามารถเปลี่ยนตำแหน่งที่เซิร์ฟเวอร์ SSH ค้นหาคีย์ในไฟล์ด้วยการตั้งค่า/etc/ssh/sshd_config
HostKey /path/to/host/key
โดยค่าเริ่มต้นจะสร้างที่สำคัญสำหรับผู้ใช้ปัจจุบันซึ่งโดยปกติจะถูกเก็บไว้ในssh-keygen
~/.ssh
รูปแบบของรหัสผู้ใช้และรหัสเซิร์ฟเวอร์เหมือนกัน ความแตกต่างคือที่ที่พวกเขาอยู่และไม่ว่าจะ/etc/ssh/sshd_config
มีHostKey
คำสั่งชี้ไปที่พวกเขา เมื่อคุณติดตั้งแพ็คเกจ openssh-server มันจะสร้างคีย์ให้เซิร์ฟเวอร์ใช้โดยอัตโนมัติ นั่นคือที่ที่กุญแจที่มีลายนิ้วมือที่ไม่รู้จักมาจาก หากคุณต้องการที่จะเห็นลายนิ้วมือของเซิร์ฟเวอร์ SSH ของ (RSA *) ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
ที่สำคัญคุณสามารถเรียกใช้
* มีอัลกอริทึมการเข้ารหัสที่แตกต่างกัน แต่ละคนใช้คีย์ที่แตกต่างกัน คนทั่วไปคือ DSA (อ่อน), RSA (เก่าเริ่มต้น) และ ECDSA (เริ่มต้นใหม่)