如何避免 SSH 对已知主机进行主机验证?

如何避免 SSH 对已知主机进行主机验证?

每次我尝试使用 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]

相关内容