Bir SSH seansı yaptığınızda, iki farklı anahtar çifti (her bir çift için parmak izi ile) söz konusudur. Bunlardan biri depolanan kullanıcının anahtarıdır ~/.ssh
. Kullanıcının SSH anahtar kimliği bazen başka bir bilgisayara giriş yapmak için kimlik bilgileri olarak kullanılır (anahtar tabanlı giriş yaptıysanız).
Diğeri ise SSH sunucusunun anahtarıdır. Farklı bir sunucuya ilk kez bağlandığınızda parmak izini gördüğünüz anahtar budur. Bu anahtarın kimliği, kullanmak istediğiniz SSH sunucusunda oturum açtığınızdan emin olmak için kullanılır. Bu, şifreleri kullanıyorsanız önemlidir, çünkü yanlışlıkla bir saldırgan makinesine giriş yapmayı denemek istemezsiniz: Saldırgan, siz yazarken şifrenizi alır. Sonra saldırgan, giriş yaptığınızı düşündüğünüz makineye giriş yapabilir için! (Bu, "ortadaki saldırıdaki adam" olarak bilinir )) Bir SSH sunucusunun, oturum açtığınızda kendini tanımlamak için kullandığı anahtarlar, içinde bulunur /etc/ssh/
ve genellikle buna benzer bir adla adlandırılır ssh_host_rsa_key
.
Ayarla SSH sunucusunun dosyadaki anahtarı aradığı yeri değiştirebilirsiniz ./etc/ssh/sshd_config
HostKey /path/to/host/key
Varsayılan olarak, ssh-keygen
geçerli kullanıcı için varsayılan olarak depolanacak bir anahtar oluşturur ~/.ssh
. Bir kullanıcı anahtarının ve bir sunucu anahtarının formatı aynıdır; fark, yerleştirildikleri yer ve onlara yöneltilen /etc/ssh/sshd_config
bir HostKey
yönerge olup olmadığıdır . Openssh-server paketini kurduğunuzda, otomatik olarak sunucunun kullanması için anahtarlar oluşturur. Bilinmeyen parmak izi olan anahtarların geldiği yer burasıdır. SSH sunucusunun (RSA *) anahtarının parmak izini görmek istiyorsanız, çalıştırabilirsiniz ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
.
* Farklı şifreleme algoritmaları vardır. Her biri farklı bir anahtar kullanır. Yaygın olanlar DSA (zayıf), RSA (eski varsayılan) ve ECDSA'dır (yeni varsayılan).