本文主要是介绍linux远程的时候:Host key verification failed.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
其实也不是我直接用xshell远程,而是今天在部署代码的时候,gitlab在做cicd的时候,ssh远程目标机,报的问题;
报错的命令:
sshpass -p 'docker' scp /data/build/xxx/application.jar docker@xxx.xx.xx.xx:/data/workspace/xxx/
报的错误:
ECDSA host key for xx.xx.xx.xx has changed and you have requested strict checking. Host key verification failed.
ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的攻击。
解決:
ssh-keygen -R 你要访问的IP地址
目的是清除你当前机器里关于你的远程服务器的缓存和公钥信息,注意是大写的字母“R”。
如:
ssh-keygen -R 108.22.23.31
删除完配置之后,重新执行命令,输入命令然后输入密码即可。
如果想以后都不输入密码直接执行命令的话, 重新配置ssh秘钥即可。
如果还不行:到~/.ssh/known_hosts文件里,把相关的数据删掉,
也是一种解决方案;
其实就是让你连接一次ssh。
这篇关于linux远程的时候:Host key verification failed.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!