远程访问服务器出现Host key verification failed问题

风格不统一 提交于 2020-01-19 19:24:30

解决Host key verification failed问题

前言:最近有小伙伴问如何访问远程服务器,关于出现Host key verification
failed问题也很尴尬,毫无疑问我们基本上都会选择使用ssh进行连接

1.基本条件

首先你要确保在你的访问的本地安装了ssh,系统可能会默认安装

sudo apt-get install openssh-server

root@Wangxinyao:/home/wxy# ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
           [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
2.出现问题

ssh ubuntu@62.234.17.94

root@Wangxinyao:/home/wxy# ssh ubuntu@62.234.17.94
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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:B7ssV7neist9yyfiT6mpeb3KNXugijmm4Um0OiFL6LY.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f "/root/.ssh/known_hosts" -R "62.234.17.94"
ECDSA host key for 62.234.17.94 has changed and you have requested strict checking.
Host key verification failed
3.问题分析
ECDSA host key for 62.234.17.94 has changed and you have requested strict checking.
Host key verification failed

着重分析上面报错的最后两行,出现这个问题的原因一般都是想再次访问重置之后的服务器;用openssh的人知道ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts下面,当下次访问相同计算机时,openssh会核对公钥;如果公钥不同,openssh会发出警告,避免受到攻击

4.解决问题

首先 ssh-keygen -R 你要访问的IP地址

ssh-keygen -R 62.234.17.94

然后再次访问地址(用户名@公网IP)

ssh ubuntu@62.234.17.94

效果如下,输入自己服务器密码即可:

root@Wangxinyao:/home/wxy# ssh-keygen -R 62.234.17.94
# Host 62.234.17.94 found: line 1
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
root@Wangxinyao:/home/wxy# ssh ubuntu@62.234.17.94
ubuntu@62.234.17.94's password:
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!