Host key verification failed

问题

首次链接某个ssh服务器时, 由于openssh需要确认远端的服务器是可信的,那么本地机器会验证远端服务器的指纹(fingerprint), 所以当我们本地没有信任服务器时就会出现 Host key verification failed 的问题. 比如, 最常见的我们使用 git clone代码时, 则会产生这样的问题

解决方法

ssh环境

$ cd ~/.ssh
$ ls
$ id_rsa id_rsa.pub known_hosts

确认known_hosts文件已经创建, 这个文件就是用于存放用户信任的服务器的ssh 指纹

方法1 - 非安全方法

ssh -o 'StrictHostKeyChecking=no'

这种方法忽略验证远程机器的指纹验证, 一般不建议使用, 不论你在内网还是外网, 都有被爆菊的危险

方法2 - 命令添加信任的key

在./ssh/know_hosts中添加远程主机的指纹

ssh-keygen -R hostname
或
ssh-keyscan -t rsa hostname>> ~/.ssh/known_hosts

方法3 - 手动添加信任的key

直接编辑known_hosts加入key, 一般已知的host key形如:

[githost.com]:1234 ssh-rsa AAAAB3NzaC1yc......

这种方法相对比较灵活, 例如gerrit中会提供其host key, 你可以手动添加

参考信息
https://stackoverflow.com/questions/13363553/git-error-host-key-verification-failed-when-connecting-to-remote-repository

How to easily add an SSH fingerprint to your known_hosts file in Linux

https://superuser.com/questions/929566/sha256-ssh-fingerprint-given-by-the-client-but-only-md5-fingerprint-known-for-se

作者:这个世界是虚拟的

链接:https://www.jianshu.com/p/1f6ba7ede019

版权声明:
作者:WaterBear
链接:https://l-t.top/2223.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录