Linux ssh登入出錯
今天登入遠端主機的時候,出現了以下錯誤:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:t1EY9SFMC42eY+2SqhKtlnbYzRIQRUJMrRephS9wNRE.
Please contact your system administrator.
Add correct host key in /Users/tech005/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/tech005/.ssh/known_hosts:1
ECDSA host key for *************** has changed and you have requested strict checking.
Host key verification failed.
1.出現以上錯誤的原因是:
本機(非遠端機)中有個 known_hosts 是記錄遠端主機的公鑰的檔案,之前重灌個系統,而儲存的公鑰還是未重灌系統的系統公鑰,在ssh連結的時候首先會驗證公鑰,如果公鑰不對,那麼就會報錯
known_hosts檔案所在目錄: /Users/***/.ssh/known_hosts
***表示你當前的使用者名稱
2.解決辦法:
(方法1).清空known_hosts檔案內容
(方法2).將你要連線的遠端主機的對應的公鑰刪除(有IP標識)
eg:
倒數三行就是IP為 211.159.167.41 的公鑰,刪除就行
(方法3).用 shh-keygen 命令
eg: ssh-keygen -R *********
注意: ********* 表示你遠端主機的IP地址