今天遇到一个SSH连接问题特此记录下。
我之前可以从本机使用SSH跳转到其他服务器,今天突然发现无法跳转了,有警告信息,此报错是由于远程的主机的公钥发生了变化导致的,可能是有异常,建议修改认证文件后再次登录。
突然想到对端的服务器重新安装过系统,估计服务器的特征码有变化,所以导致了认证失败。
查了下相关资料,ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。
使用ssh-keygen -R IP的方式清除已经在本机生成的密钥认证信息,然后重新登录解决问题。