![如何避免 SSH 对已知主机进行主机验证?](https://linux22.com/image/1234920/%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%20SSH%20%E5%AF%B9%E5%B7%B2%E7%9F%A5%E4%B8%BB%E6%9C%BA%E8%BF%9B%E8%A1%8C%E4%B8%BB%E6%9C%BA%E9%AA%8C%E8%AF%81%EF%BC%9F.png)
每次我尝试使用 SSH 连接服务器时,都会收到以下提示。我输入“yes”,但有办法避免这种情况吗?
The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?
答案1
使用该-o
选项,
ssh -o "StrictHostKeyChecking no" user@host
答案2
将以下行添加到/etc/ssh/ssh_config
...的开头
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
选项:
- 主机子网可以
*
允许所有 IP 不受限制地访问。 - 编辑
/etc/ssh/ssh_config
全局配置或~/.ssh/config
用户特定配置。
看http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
答案3
您应该只在第一次连接到新主机时获得此信息。响应后,yes
主机信息将被存储~/.ssh/known_hosts
,下次连接时将不会再提示您。
请注意,如果~/.ssh/known_hosts
由于任何原因(例如权限问题)无法写入,那么每次连接时都会收到提示。
答案4
如果您想禁用确认而不是身份验证,您可以使用以下选项:“-o CheckHostIP=no”
ssh -i sergeys_rsa_key.pem -o CheckHostIP=no [email protected]