问题描述:
在平时工作中,有时候需要ssh登陆到别的Linux主机上去,但有时候ssh登陆会被禁止,并弹出如下类似提示:The authenticity of host '192.168.10.9 (192.168.10.9)' can't be established.
ECDSA key fingerprint is SHA256:AaGpHeEiRuXMy96oezzV6TOej5nJJmZTe/djqR7qCVk.ECDSA key fingerprint is MD5:78:a1:b1:1c:36:76:c7:34:54:87:cc:ea:51:3f:0c:24.Are you sure you want to continue connecting (yes/no) ? yes
warning: Permanently added '192.168.10.9'(ECDSA) to the list of known hosts.Authentication failed.
原因分析:
ssh会把你每个你访问过计算机的公钥(publickey)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,openSSH会核对公钥。如果公钥不同,openSSH会发出警告,避免你受到DNS Hijack之类的攻击。
一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的~ .ssh /kinown_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。
解决方案:
手动删除修改known_hsots里面的内容。
> /root/.ssh/known_hosts