由于工作需要,有九台伺服器需要對起openssh更新,在更新成功之後,無法登入,花了很多時間在網上找資料,具體解決方法如下。
由于新的openssh采用了新的算法,是以想要連接配接伺服器,必須使用最新的securecrt 或者是Xshell或者是其他工具。
當然也可以自己手動用老的算法生成私鑰,公鑰(公鑰是從私鑰裡面抽取出來的)。
報錯
key-exchange failed
No compatible hostkey.The server supports these methods: ssh-ed25519
解決方法:
1 首先清除伺服器上的原來的公鑰和私鑰
rm -f /etc/ssh/ssh*key
2. 使用舊的算法生成私鑰公鑰
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
(這裡使用了三種算法,隻要客服端支援其中一種或者集中就可以)
以上步驟完成後,重新開機sshd服務,然後再登入(比如crt6.5)就行了。
附: ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ED25519_key ed25519是最新的算法,客服端不支援就沒必要生成私鑰。如果客服端為最新的,簡直生成,比較速度和安全性都更高
本文轉自 zfno11 51CTO部落格,原文連結:http://blog.51cto.com/zfno111/1939945