Bu konu, bir Linux örneğine SSH üzerinden bağlanırken "error: Unable to load host key: /etc/ssh/ssh_host_rsa_key" hatasının nedenlerini ve çözümünü açıklar.
Belirtiler
Bir Linux örneğine SSH kullanarak bağlanamazsınız. Örneğe Sanal Ağ Bilgisayarı (VNC) ile giriş yaptıktan sonra günlükleri kontrol etmek için cat /var/log/secure veya cat /var/log/messages komutunu çalıştırırsanız aşağıdakine benzer bir hata iletisi görürsünüz.
error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
error: Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.
error: It is required that your private key files are NOT accessible by others.
error: This private key will be ignored.
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": bad permissions
error: Unable to load host key: /etc/ssh/ssh_host_rsa_key
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_rsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_rsa_key
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": invalid format
error: Unable to load host key: /etc/ssh/ssh_host_ecdsa_key
Nedenler
Örnek üzerindeki anahtar dosyaları geçersiz olduğundan sshd arka plan programı SSH ana bilgisayar anahtarını yükleyemediğinde bu sorun oluşur. Yaygın nedenler şunlardır:
-
SSH ana bilgisayar anahtarı dosyalarının izinleri hatalıdır.
Örneğin, özel anahtar dosyasının varsayılan izni
600değeridir. Daha geniş bir izin değeri (örneğin777) ayarlarsanız diğer kullanıcılar dosyayı okuyabilir veya değiştirebilir. SSH hizmeti bunu bir güvenlik riski olarak değerlendirir ve anahtarı yoksayar; bu da bağlantının başarısız olmasına neden olur. SSH ana bilgisayar anahtarı dosyaları bozulmuş, silinmiş veya üzerine yazılmıştır.
Çözüm
Bu sorunu çözmek için SSH ana bilgisayar anahtarı dosyalarını yeniden oluşturun.
-
Linux örneğine VNC kullanarak bağlanın.
Daha fazla bilgi için bkz. Bağlantı yöntemlerine genel bakış.
-
Ana bilgisayar anahtarı dosyalarını yeniden oluşturun.
sudo rm -f /etc/ssh/ssh_host_* sudo /usr/bin/ssh-keygen -A sudo chmod 600 /etc/ssh/ssh_host_* sudo chmod 644 /etc/ssh/*.pub -
Anahtar dosyalarının oluşturulduğunu doğrulamak için aşağıdaki komutu çalıştırın.
ls -l /etc/ssh
-
SSH hizmetini yeniden başlatın.
sudo systemctl restart sshd.service
Sonraki adımlar
Ana bilgisayar anahtarını yeniden oluşturduktan sonra örneğe SSH üzerinden bağlanırken aşağıdaki hatayla karşılaşabilirsiniz. Bu hata, yerel makinenizin eski ana bilgisayar anahtarı parmak izini önbelleğe almasından kaynaklanır. Sorunu çözmek için bkz. Bir Linux örneğine SSH ile bağlanırken "Host key verification failed" hatası döndürülürse ne yapmalıyım?.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ae:6e:68:4c:97:a6:91:81:11:38:8d:64:ff:92:13:50.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:70
RSA host key for x.x.x.x has changed and you have requested strict checking.
Host key verification failed.