Có vẻ như openssh đã thay đổi cách hiển thị dấu vân tay quan trọng.
Tôi đang cố gắng ssh từ máy khách đến máy chủ:
- máy khách: Ubuntu 14.04 chạy OpenSSH 6.6.1
- máy chủ: FreeBSD chạy OpenSSH 7.2p2.
Máy khách báo cáo băm md5 của khóa máy chủ dưới dạng một chuỗi gồm 16 cặp chữ số hex, như sau:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
Máy chủ mặc định sử dụng hàm băm sha256, nhưng nhờ câu trả lời này, tôi có thể buộc nó cung cấp hàm băm sha1 bằng cách chạy:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Tôi muốn kết quả trông như thế này:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
nhưng thay vào đó tôi nhận được điều này:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Đối với tôi, có vẻ như một phiên bản mã hóa cơ sở của dấu vân tay hiện đang được hiển thị thay vì chữ số hex.
Làm cách nào tôi có thể lấy tổng kiểm tra của khóa máy chủ theo cùng định dạng như báo cáo của máy khách (cũ hơn) (chữ số hex được phân tách bằng dấu hai chấm, hàm băm sha1) để kiểm tra xem chúng có giống nhau không?
EDIT: Phiên bản cũ của SSH cung cấp cho tổng kiểm tra md5 chứ không phải tổng kiểm tra sha1 như tôi nghĩ nhầm. Sử dụng tổng kiểm tra đó (như câu trả lời hiện được chấp nhận) trong tùy chọn -E sẽ cho đầu ra mong muốn.