Uzak sunucuya parolasız ssh bağlantısı yapmak için ssh key authentication kullanılmaktadır. Bu doğrulama, bash scriptler içerisinden uzak sunucuya bağlanıp işlemler yapmak için kolaylık sağlamaktadır.
Bağlantı aşamaları yukarıdaki gibidir.
SSH key çifti daha önceden oluşturulmadıysa aşağıdaki gibi oluşturulabilir.
$ ssh-keygen
~/.ssh/
dizini altında oluşan id_rsa
ve id_rsa.pub
dosyaları bu adımda önemlidir. id_rsa
dosyası içerisinde private key bulunup kimseyle paylaşılmamalıdır. id_rsa.pub
dosyası içerisinde bulunan key uzak sunucunun authorized_keys
dosyası içine kopyalanmalıdır. Public key’i uzak sunucuya aşağıdaki gibi kopyalanabilir.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@remoteip
Bu işlemler tamamlandıktan sonra uzak sunucu bağlantısı gerçekleştirilebilir.
Brute force ataklarına karşı parola ile girişi kapatmak için /etc/ssh/sshd_config
dosyası içerisindeki PasswordAuthentication
parametresi aşağıdaki şekilde ayarlanmalıdır.
### /etc/ssh/sshd_config PasswordAuthentication no