最近在登錄一臺機器的時候,發現無法等入了,出現以下錯誤:
於是就度娘(不得不說搜索引擎是個好東西),找了好久發現有篇文章裏面提到.ssh/known_hosts文件,查看果然有這個文件:
就想這文件是個啥東東,待一查,才明白了,原來known_hosts是記錄遠程主機的公鑰的文件,之前重裝個系統,而保存的公鑰還是未重裝系統的系統公鑰,在ssh鏈接的時候首先會驗證公鑰,如果公鑰不對,那麼就會報錯,
解決辦法:
1、將known_hosts文件中的與登錄錯誤的IP的公鑰刪除即可,下圖就是我的218機子的公鑰(實則是之前系統的公鑰),然後將其刪除,再ssh 登錄 great 登錄成功了。
2、將known_hosts文件中的內容清空即可,但不建議使用此方法,裏面還保存有其他機子的公鑰。
3、使用shh-keygen 命令(強烈建議使用此方法)
比如我們要將172.16.152.209的公鑰信息清除,使用命令(請自己將172.16.152.209替換成自己的IP或域名):
ssh-keygen -R 172.16.152.209
如下圖:
完畢之後就可以了,再次登陸就後要求確認是否公鑰:
至此ssh鏈接錯誤成功解決,記錄 在此以供查詢。