SSH登录异常(远程git仓库修改ssh连接主机ip导致ssh连接异常)的解决方案

1,969 阅读2分钟

今天在向我腾讯工蜂git管理仓库推送代码时出现下面的错误:

$ git push
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA key sent by the remote host is
SHA256:O/rHOxiTfD6BGBM8iwioUtqx8qHDxxd3uYn1hee4/Rc.
Please contact your system administrator.
Add correct host key in /c/Users/Administrator/.ssh/known_hosts to get rid of this message.
Offending RSA key in /c/Users/Administrator/.ssh/known_hosts:7
RSA host key for git.code.tencent.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists. 
  • 在遇到这个问题时,我的第一感觉是腾讯工蜂7月20号的更新导致我本地ssh连接出现了异常。 
  • 凭着自己半桶水的英文理解,我对这段英文的解读是,ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。我们通过ssh登录过一次远程仓库后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。
  • 因此我在系统盘找到.ssh文件夹下的known_hosts 文件删掉对应的冲突链接主机记录

  • 删除完再推送本地仓库带代码,效果如下:


  • 至此,git重新与腾讯工蜂系统建立了一条新的主机连接记录,可以重新提交代码啦!


写在最后:

   第一次把自己遇到的问题写出来,可能存在少许纰漏。后续会有更多的总结分享,欢迎各位大牛指正!