คุณควรสร้างหน่วยงานออกใบรับรองที่จัดการด้วยตนเอง เริ่มต้นด้วยการสร้างคู่ที่สำคัญ:
ssh-keygen -f cert_signer
จากนั้นลงชื่อคีย์สาธารณะของแต่ละเซิร์ฟเวอร์:
ssh-keygen -s cert_signer -I cert_signer -h -n www.example.com -V +52w /etc/ssh/ssh_host_rsa_key.pub
สิ่งนี้สร้างรหัสโฮสต์สาธารณะที่ลงนามแล้ว:
/etc/ssh/ssh_host_rsa_key-cert.pub
ใน/etc/ssh/sshd_configชี้HostCertificateไปที่ไฟล์นี้:
HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
เริ่มบริการ sshd:
service sshd restart
จากนั้นในไคลเอนต์ SSH เพิ่มต่อไปนี้เพื่อ~/.ssh/known_hosts:
@cert-authority *.example.com ssh-rsa AAAAB3Nz...cYwy+1Y2u/
ข้างต้นประกอบด้วย:
@cert-authority
- โดเมน
*.example.com
- เนื้อหาทั้งหมดของกุญแจสาธารณะ
cert_signer.pub
รหัสcert_signerสาธารณะจะเชื่อถือเซิร์ฟเวอร์ใด ๆ ที่มีรหัสโฮสต์สาธารณะที่ลงนามโดยcert_signerรหัสส่วนตัว
แม้ว่าสิ่งนี้ต้องการการกำหนดค่าแบบครั้งเดียวที่ฝั่งไคลเอ็นต์ แต่คุณสามารถเชื่อถือเซิร์ฟเวอร์ได้หลายเครื่องรวมถึงเซิร์ฟเวอร์ที่ยังไม่ได้รับการจัดเตรียม (ตราบใดที่คุณลงชื่อในแต่ละเซิร์ฟเวอร์นั่นคือ)
สำหรับรายละเอียดเพิ่มเติมโปรดดูที่หน้าวิกินี้