ssh连接远程Host key verification failed.
问题描述
在对已部署的项目进行维护过程中,遇到的一个小问题,记录一下。
SSH连接云服务器ssh xxx@云服务器IP地址,提示:
1 | The authenticity of host 'xxxxxx (xx.xxx.123.321)' can't be established. |
在上网查阅了相关资料,这是ssh连接的一种保护机制,本地主机在连接前会进行验证,我是由于更换了ssh密钥发生了这个问题
,按照网上说的直接敲回车yes无效。
又尝试了再次更换密钥,结果并没有什么用。
再尝试了多种方法之后终于解决了这个问题,下面总结了两种我尝试过可行的解决办法。
解决办法
第一种
就是在ssh连接过程中直接去掉主机验证
只需要在ssh命令后面加上 “-o StrictHostKeyChecking=no” 参数即可,比如(用ssh连接github作为测试)
1 | ssh -T git@github.com |
输入变为
1 | ssh -T git@github.com -o StrictHostKeyChecking=no |
可以看到就ssh连接成功了
第二种
给本地的known_hosts文件中添加连接验证
在命令行中输入"ssh-keyscan -t rsa 服务器ip >> xxxx\ .ssh\known_hosts" (xxxx为你的ssh文件路径),例如
1 | ssh-keyscan -t rsa github.com >> C:\Users\asus\.ssh\known_hosts |
添加成功后即可正常ssh连接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 pyf的日记!