SSH The authenticity of host can‘t be established

需要在git仓库SSH key

ssh登录方式:

  1. ssh user@host
  2. ssh host

The authenticity of host can’t be established

Linux 使用Expect 远程连接宿主机时会提示:

The authenticity of host can’t be established.
ECDSA key fingerprint is SHA256

的问题。

1、在测试机第一次远程连接宿主机时,是不会出现这个问题的,因每次连接时,测试机都会在宿主机的/root/.ssh/known_hosts 文件中产生一个测试机连接IP 所使用的的key,下次连接时就可以直接访问宿主机 2、由于在DHCP的机制下,不同的机器在不用的时间段会使用到同一个IP ,不同的机器即使使用一样的IP 在访问宿主机的信息也是不同的,但是由于之前这个IP 访问宿主机所产生的的KEY存在,所以下一个使用相同IP 的测试就无法将key 注册到宿主机上

解决的办法就是删除/root/.ssh/known_hosts 文件中有关使用IP 的那行注册信息。

解决SSH The authenticity of host can’t be established

SSH命令连接云服务器:ssh root@服务器ip地址,提示如下:

The authenticity of host   cant be established.
ECDSA key fingerprint is SHA256:.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

SSH连接服务器为什么会出现这个提示?新手站长网猜测可能是一种安全机制,出现这种情况一般有两个原因,一个是第一次登录云服务器,另一个是主机key发生了变化,解决方法很简单,输入yes,然后回车即可。

那么问题来了,如果经常出现这个SSH提示怎么办?可以在SSH的时候加上StrictHostKeyChecking选项,新手站长网举例说明:ssh -o StrictHostKeyChecking=no root@你的本地IP地址。

还有一种彻底去掉SSH主机验证的方法,就是修改/etc/ssh/ssh_config配置文件,在ssh_config配置文件中添加:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

新手是不建议这么做的,毕竟不安全。而且输入yes回车即可解决问题,没必要这么麻烦。

参考:

经验分享 程序员 微信小程序 职场和发展