Tampaknya openssh telah mengubah cara menampilkan sidik jari kunci.
Saya mencoba ssh dari mesin klien ke server:
- client: ubuntu 14.04 menjalankan OpenSSH 6.6.1
- server: FreeBSD menjalankan OpenSSH 7.2p2.
Klien melaporkan hash md5 dari kunci server sebagai urutan 16 pasang angka hex, seperti ini:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
Server secara default menggunakan hash sha256, tetapi berkat jawaban ini saya bisa memaksanya untuk memberikan hash sha1 dengan menjalankan:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Saya ingin hasilnya terlihat seperti ini:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
tetapi sebaliknya saya mendapatkan ini:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Bagi saya itu seperti versi sidik jari base64 yang dikodekan sekarang sedang ditampilkan alih-alih digit hex.
Bagaimana saya bisa mendapatkan checksum dari kunci server dalam format yang sama seperti yang dilaporkan oleh klien (yang lebih tua) (angka hex yang dipisahkan dengan titik dua, sha1 hash) untuk mengecek apakah semuanya sama?
EDIT: Versi lama SSH memberikan checksum md5 , bukan checksum sha1 seperti yang saya pikir salah. Menggunakan checksum itu (sebagai jawaban yang sekarang diterima harus menyatakan) dalam opsi -E memberikan output yang diinginkan.