ssh 警告:

ssh 警告:

我正在尝试 ssh 到远程主机:

ssh host.example.com

我得到以下信息:

The authenticity of host 'host.example.com (<no hostip for proxy command>)' can't be established.
RSA key fingerprint is 62:db:31:0b:ce:e3:7b:a1:c7:0f:46:d1:7d:e5:48:10.
Are you sure you want to continue connecting (yes/no)? no 
Host key verification failed.

我正在使用 ssh 配置~/.ssh/config

Host host.example.com
User deployuser
HostName host.example.com
IdentityFile ~/.ssh/deployuser_key

主机已在 中列出/etc/ssh/ssh_known_hosts,且指纹匹配。 中没有条目~/.ssh/known_hosts

如果我接受密钥,它将被添加到~/.ssh/known_hosts。我不确定no hostip for proxy command表示什么,我想了解是什么导致了问题。

当我运行 ssh 命令时,-vvv我可以看到 ssh 正在检查/var/lib/sss/pubconf/known_hosts而不是/etc/ssh/ssh_known_hosts- 我相信这解释了意外行为(如果不是警告消息)。一旦我添加了主机密钥/var/lib/sss/pubconf/known_hosts(通过 FreeIPA),连接就会继续进行,没有任何警告或提示。

答案1

我不确定该no hostip for proxy命令表示什么并且我想了解问题的原因。

当您不使用代理连接到 SSH 服务器时,服务器的 IP 地址将被保存并存储在已知主机文件中。当您使用代理时,客户端永远不会获取远程 IP。对于不使用代理的客户端,未散列版本的 known_hosts 条目可能看起来像这样。

srv-01,10.99.4.29 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMOZnp2wcVBSp8ddLuXFrpD8YJGOQ8MzPihHr09qkGS

这不是一个“错误”,甚至不是一个有用的警告。您可以放心地忽略它。

CheckHostIP no我相信您可以通过设置除 之外的选项来抑制“警告” ProxyCommand。此选项基本上告诉 ssh 跳过存储/检查远程 IP。

从何而来有人告诉我设置此选项实际上不会产生任何安全影响。

答案2

将这些选项添加到 ProxyCommand 对我有帮助:-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null

相关内容