Tốt nhất, bạn nên tạo một cơ quan chứng nhận tự quản lý. Bắt đầu với việc tạo một cặp khóa:
ssh-keygen -f cert_signer
Sau đó ký tên khóa máy chủ công cộng của mỗi máy chủ:
ssh-keygen -s cert_signer -I cert_signer -h -n www.example.com -V +52w /etc/ssh/ssh_host_rsa_key.pub
Điều này tạo ra một khóa máy chủ công cộng đã ký:
/etc/ssh/ssh_host_rsa_key-cert.pub
Trong /etc/ssh/sshd_config
, trỏ HostCertificate
đến tập tin này:
HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
Khởi động lại dịch vụ sshd:
service sshd restart
Sau đó, trên máy khách SSH, thêm phần sau vào ~/.ssh/known_hosts
:
@cert-authority *.example.com ssh-rsa AAAAB3Nz...cYwy+1Y2u/
Trên đây có chứa:
@cert-authority
- Lĩnh vực
*.example.com
- Nội dung đầy đủ của khóa công khai
cert_signer.pub
Khóa cert_signer
công khai sẽ tin tưởng bất kỳ máy chủ nào có khóa máy chủ công cộng được ký bởi cert_signer
khóa riêng.
Mặc dù điều này yêu cầu cấu hình một lần ở phía máy khách, bạn có thể tin tưởng nhiều máy chủ, bao gồm cả những máy chủ chưa được cung cấp (miễn là bạn ký mỗi máy chủ, nghĩa là).
Để biết thêm chi tiết, xem trang wiki này .