- Oturum açılması esnasında
- İki tarafın da birbirinin kimliğinden emin olması (birbirlerinin açık anahtarları vasıtasıyla).
- Oturum açılışında şifre kullanılıyorsa, şifrenin üçüncü taraflar tarafından edinilmesinin önlenmesi.
- Oturum açıldıktan sonra
- Transfer edilen verinin üçüncü taraflar tarafından edinilmesinin önlenmesi.
İlk kez bir SSH oturumu açmaya kalktığımızda SSH istemcimiz bize şu uyarıyı yapar:
user1@host1.x.y:~$ ssh host2.x.y The authenticity of host 'host2.x.y (10.0.0.1)' can't be established. RSA key fingerprint is 12:45:1a:b3:81:0d:23:93:35:6a:21:91:ca:24:0b:20. Are you sure you want to continue connecting (yes/no)?Burada host1.x.y makinasındaki user1 kullanıcısı host2.x.y makinasına dogru ilk kez bir SSH oturumu açmak istemektedir. Oturum açma isteği aldığında SSH sunucusu, istemci tarafa kendi açık anahtarını ve yine bu açık anahtarın özetinin (fingerprint) kendi gizli anahtarı ile şifrelenmiş halini gönderir. İstemci bu şifrelenmiş özeti sunucunun açık anahtarını kullanarak açar. İstemcinin kendisi de sunucunun açık anahtarını aynı özet alma metoduna (hash algorithm) sokarak özet (fingerprint) üretir. Bu özet ile kendisine ağ üzerinden şifreli olarak gelen özeti karşılaştırır ve eşit olduğu taktirde, bu açık anahtarın karşı tarafa ait olduğundan ve karşı tarafın bu açık anahtara karşılık gelen bir gizli anahtara sahip olduğundan emin olur. Ancak emin olamadığı bir şey vardır: bu açık anahtar gerçekten bağlanmak istediği sunucuya mı ait?
Bu noktada bağlanmaya çalıştığımız kanalın dışında bir kanaldan doğrulama yapmamız gerekmektedir. host2.x.y makinasının konsolundan "root" olarak oturum açarak şu komutu çalıştıralım:
root@host2.x.y:~$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub 2048 12:45:1a:b3:81:0d:23:93:35:6a:21:91:ca:24:0b:20 /etc/ssh/ssh_host_rsa_key.pub (RSA)Burada gördüğümüz özet (fingerprint) değeri SSH istemcisinin bize sorduğu ile aynı ise, gelen açık anahtarın bağlanmak istediğimiz sunucudan geldiğinden emin olabiliriz. SSH oturumu açarken sorulan soruya "yes" diyerek devam edilirse bu açık anahtar ssh tarafından kaydedilir ve sonraki oturum açma isteklerimizde artık bu soru sorulmaz.
