带有 StrictHostKeyChecking 的 ssh

带有 StrictHostKeyChecking 的 ssh

当我使用 ssh 连接另一台机器时,每次我都用是/否回答这个问题 -

user@computer$ ssh user@host
This host key is known by the following other names/addresses
  ~/.ssh/known_hosts:xx: [hashed name]
  ~/.ssh/known_hosts:xx: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

然后,我一直给予yes,然后我才能访问另一台机器

我知道有一个参数可以ssh在连接时删除这个问题,ssh并且StrictHostKeyChecking=accept-new它有效,我只需简单地输入密码而无需回答上述问题。

我看了一些答案,但我没有完全搞清楚

使用 ssh 是否与上面的问题中StrictHostKeyChecking=accept-new给出的相同?yes

我不知道其他机器[关于信任],但我肯定需要使用访问ssh并回答上述问题yes并输入密码,然后我完成我的工作。

还有其他方法可以在连接时消除这个问题吗ssh

谢谢

答案1

如果您设置StrictHostKeyChecking为,SSH 将向您的 hosts 文件添加新密钥。这与设置为并始终连接到新主机accept-new相同。在这两种情况下,SSH 都会自动添加密钥。但是,如果主机已知并且它更改了密钥(创建新密钥、中间人等),则设置将StrictHostKeyCheckingnoaccept-new不是允许连接到该主机,而设置no将允许它。

当你设置StrictHostKeyChecking为时,yes你必须手动更新已知主机文件。上面的第二个示例将失败,在第一个示例中,SSH 将不是与该主机建立连接。

相关内容