Sidik jari didasarkan pada kunci Publik Host, biasanya didasarkan pada "/etc/ssh/ssh_host_rsa_key.pub" Umumnya untuk memudahkan identifikasi / verifikasi host yang Anda hubungkan.
Jika sidik jari berubah, mesin yang Anda sambungkan telah mengubah kunci publik mereka. Ini mungkin bukan hal yang buruk (terjadi dari menginstal ulang ssh), tetapi itu juga bisa menunjukkan bahwa Anda terhubung ke mesin yang berbeda di domain / IP yang sama (terjadi ketika Anda menghubungkan melalui sesuatu seperti load balancer) atau bahwa Anda sedang ditargetkan dengan serangan man-in-the-middle, di mana penyerang entah bagaimana mencegat / mengubah rute koneksi ssh Anda untuk terhubung ke host yang berbeda yang dapat mengintai pengguna Anda / pw.
Intinya: jika Anda diperingatkan tentang sidik jari yang diubah, berhati-hatilah dan periksa kembali apakah Anda benar-benar terhubung ke host yang benar melalui koneksi yang aman. Meskipun sebagian besar waktu ini tidak berbahaya, ini bisa menjadi indikasi masalah potensial
Lihat: http://www.lysium.de/blog/index.php?/archives/186-How-to-get-ssh-server-fingerprint-information.html
dan: http://en.wikipedia.org/ wiki / Public_key_fingerprint
~/.ssh/known_hosts
. Dengan cara ini, ketika Anda terhubung ke server, klien SSH Anda akan mengenali server ini, karena Anda telah menyimpan kunci publiknyaknown_hosts
. Oleh karena itu, sebenarnya Anda tidak boleh mengatakan "ya" ketika klien SSH memberi tahu Anda "Keaslian tuan rumah tidak dapat dibuat". Anda harus selalu menambahkan kunci publik dari server sebelumnya.~/.ssh/known_hosts
file Anda sebelumnya dan tidak pernah mengatakan ya ketika klien SSH Anda memberi tahu Anda "Keaslian klien tidak dapat dibuat" atau ketika ia memberi tahu Anda "Kunci publik dari server telah diubah ".Anda dapat membuat sidik jari untuk kunci publik menggunakan
ssh-keygen
seperti:Contoh konkret (jika Anda menggunakan kunci publik RSA):
Bagian pertama
(2048)
adalah panjang kunci dalam bit, bagian kedua(00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff)
adalah sidik jari kunci publik dan bagian ketiga adalah lokasi file kunci publik itu sendiri.sumber
ssh-keygen -lf
akan melakukan apa yang Anda inginkan.ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
. Ini menunjukkan sidik jari yang juga ditampilkan pada login SSH ke localhost.ssh-keygen
dilaporkansha256
. Untuk mendapatkanmd5
sidik jari saya berlarissh-keygen -l -E md5 -f ~/.ssh/id_rsa.pub
. #archlinuxssh -o FingerprintHash=md5
atau yang setara dalamssh_config
dan pada hal-hal yang menggunakanssh
sukascp
.Sidik jari adalah MD5 atas data biner dalam kunci publik yang disandikan Base64.
Md5sum 6530389635564f6464e8e3a47d593e19 adalah sidik jari yang ditampilkan ketika kunci dihasilkan, hanya tanpa titik dua yang memisahkan.
Namun, jika Anda berurusan dengan sidik jari yang ditunjukkan Amazon di konsol EC2 Key Pairs, sayangnya itu mungkin binatang yang berbeda . Jika string hex 32-digit, ini adalah sidik jari kunci publik standar MD5 SSH di atas. Tetapi jika 40 digit hex, sebenarnya sidik jari dihitung dengan mengambil SHA1 dari kunci pribadi dalam format PKCS # 8:
sumber
awk '{print $2}' /path/to/keyfile.pub
atau serupa.cat id_rsa.pub | cut -d' ' -f2 | base64 -d | md5sum
Jika Anda ingin memeriksa file kunci SSH untuk melihat apakah itu sama dengan apa yang dilaporkan sebagai "Deploy key" oleh github, ini untuk Anda ...
Dari URL pribadi: https://github.com/<username>/<repo_name>/settings/keys Anda akan melihat
Di terminal:
Anda akan melihat bahwa Anda mendapatkan sidik jari yang sama untuk kunci privat dan publik.
Perintah yang sama dapat dikombinasikan dengan fitur rapi dari GitHub, yang merupakan fakta bahwa mereka secara publik melayani kunci publik SSH pengguna di https://github.com/<username>.keys
Berikut ini adalah one-liner yang dapat Anda gunakan untuk memanfaatkannya.
sumber
Akan menampilkan sidik jari untuk semua kunci publik yang dikonfigurasi pada instance sshd.
Ini kemudian dapat dimasukkan ke dalam catatan DNS SSHFP .
sumber