Tôi có một máy chủ tên là nms.example.org. Trong tôi /etc/ssh/ssh_known_hosts
có một mục nhập cho máy chủ lưu trữ với khóa RSA. Mục này và tất cả các mục khác được quản lý bởi hệ thống quản lý cấu hình của tôi.
nms.example.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZqfmVPs/XqTS...
Ngoài ra tôi có một mục trong /etc/ssh/ssh_config
máy chủ lưu trữ cụ thể của tôi đặt bí danh khóa máy chủ. Mà nếu tôi hiểu mọi thứ đúng, điều này có nghĩa là chỉ có nms.example.org
vấn đề.
Host nms.example.org nms.example nms
HostKeyAlias nms.example.org
HostName nms.example.org
Tại sao sau đó, khi tôi kết nối từ máy khách, ssh dường như vẫn nghĩ rằng nó cần thêm khóa vào mỗi người dùng biết_host của tôi với IP của máy chủ?
$ ssh nms -v
OpenSSH_6.0p1 Debian-4+deb7u4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /home/zoredache/.ssh/config
debug1: /home/zoredache/.ssh/config line 61: Applying options for *
debug1: /home/zoredache/.ssh/config line 71: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 84: Applying options for nms
debug1: /etc/ssh/ssh_config line 363: Applying options for *
debug1: Connecting to nms.example.org [104.236.190.144] port 22.
debug1: Connection established.
debug1: identity file /home/zoredache/.ssh/zoredache-20140204.id_rsa type 1
...
debug1: Server host key: RSA 6b:5f:b6:e9:13:c3:b7:39:1e:ec:74:05:33:64:4d:5e
debug1: using hostkeyalias: nms.example.org
debug1: Host 'nms.example.org' is known and matches the RSA host key.
debug1: Found key in /etc/ssh/ssh_known_hosts:104
Warning: Permanently added the RSA host key for IP address '192.0.2.144' to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
...
SSH biết máy chủ của tôi là hợp lệ (Xem Host 'nms.example.org' is known and matches the RSA host key
:) vì vậy tại sao nó lại thêm khóa cho IP vào hồ sơ người dùng?
Điều này cực kỳ khó chịu, bởi vì khi tôi cài đặt lại máy, hệ thống quản lý cấu hình của tôi xử lý việc thu thập và phân phối các khóa máy chủ cho tất cả hệ thống. Nhưng sẽ có những khóa xung đột còn sót lại được liên kết với IP trong các tệp được biết đến mỗi lần sử dụng gây ra cảnh báo về nỗ lực kết nối ngăn các tập lệnh kết nối.
$ ssh nms -v
OpenSSH_6.0p1 Debian-4+deb7u4, OpenSSL 1.0.1e 11 Feb 2013
...
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u4
debug1: using hostkeyalias: nms.example.org
...
debug1: Server host key: RSA 6b:5f:b6:e9:13:c3:b7:39:1e:ec:74:05:33:64:4d:5e
debug1: using hostkeyalias: nms.example.org
debug1: Host 'nms.example.org' is known and matches the RSA host key.
debug1: Found key in /etc/ssh/ssh_known_hosts:104
Warning: the RSA host key for 'nms.example.org' differs from the key for the IP address '192.0.2.144'
Offending key for IP in /home/zoredache/.ssh/known_hosts:25
Matching host key in /etc/ssh/ssh_known_hosts:104
Are you sure you want to continue connecting (yes/no)?
Làm cách nào tôi có thể ngăn ssh lưu trữ giá trị trên mỗi IP này trong mỗi người dùng biết_hosts? Hoặc có một số lý do bảo mật tại sao tôi phải sống với hành vi gây phiền nhiễu này? Điều này cũng làm tôi thất vọng vì một vài máy chủ có địa chỉ IP hơi động. Quản lý cấu hình của tôi xử lý các bản cập nhật DNS. Nhưng tôi nhận được các khóa máy chủ còn lại trên mỗi IP này lấp đầy các tệp tin_host của mỗi người dùng.