Saat Anda membuat sesi SSH, dua pasangan kunci berbeda (dengan sidik jari untuk masing-masing pasangan) terlibat. Salah satunya adalah kunci pengguna yang disimpan di ~/.ssh
. Identitas kunci SSH pengguna terkadang digunakan sebagai kredensial untuk masuk ke komputer lain (jika Anda telah menyiapkan login berbasis kunci).
Yang lainnya adalah kunci server SSH. Ini adalah kunci yang Anda lihat sidik jari ketika Anda terhubung ke server yang berbeda untuk pertama kalinya. Identitas kunci ini digunakan untuk memastikan Anda masuk ke server SSH yang Anda inginkan. Ini penting jika Anda menggunakan kata sandi karena Anda tidak ingin secara tidak sengaja mencoba masuk ke mesin penyerang: penyerang akan mendapatkan kata sandi saat Anda mengetikkannya. Kemudian penyerang dapat masuk ke mesin yang Anda pikir Anda masuk untuk! (ini dikenal sebagai "man in the middle attack" ) Kunci-kunci yang digunakan oleh server SSH untuk mengidentifikasi dirinya ketika Anda masuk ke sana terletak /etc/ssh/
dan biasanya dinamai sesuatu seperti ssh_host_rsa_key
.
Anda benar-benar dapat mengubah di mana server SSH mencari kunci dalam file dengan pengaturan./etc/ssh/sshd_config
HostKey /path/to/host/key
Secara default, ssh-keygen
akan membuat kunci untuk pengguna saat ini, yang, secara default, akan disimpan ~/.ssh
. Format kunci pengguna dan kunci server adalah sama; perbedaannya adalah di mana mereka ditempatkan dan apakah /etc/ssh/sshd_config
memiliki HostKey
arahan yang menunjuk kepada mereka. Ketika Anda menginstal paket openssh-server, itu secara otomatis menghasilkan kunci untuk server untuk digunakan. Dari sanalah kunci dengan sidik jari yang tidak dikenal berasal. Jika Anda ingin melihat sidik jari kunci SSH server (RSA *), Anda bisa menjalankannya ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Ada beberapa algoritma enkripsi. Masing-masing menggunakan kunci yang berbeda. Yang umum adalah DSA (lemah), RSA (default lama), dan ECDSA (default baru).