SSH 从 ssh-keyscan 将密钥添加到known_hosts

SSH 从 ssh-keyscan 将密钥添加到known_hosts

gitserver我在部署到 LAN 的远程主机上保留了本地 git 存储库。当我出门在外时,我必须通过 LAN 的外部 IP 访问该服务器。 (路由器不提供环回)。

在家里,我的 LAN DNS 解析gitserver为 LAN 地址,但当我不在时,我将文件设置gitserver/etc/hostsLAN 的外部 IP。

这对我来说效果很好,但我收到一条警告,指出外部 IP 不在known_hosts 文件中。

我正在尝试使用 ssh-keyscan 添加该密钥

ssh-keyscan -p 4444 -t ecdsa 100.101.102.103

我得到的结果如下:

[100.101.102.103]:4444 ecdsa-sha2-nistp256 <GOBBLEDEEGOOKalphanumericstring>

我想known_hosts用该密钥更新我的文件,但该known_hosts文件需要我怀疑是 hostID 密钥。例如:

|1|SoMeThing=|AnotherThing= ecdsa-sha2-nistp256 = ecdsa-sha2-nistp256 <GOBBLEDEEGOOKalphanumericstring>

我如何找到该SoMeThing...部分——HostID? ——条目known_hosts

答案1

格式|1|b64|b64~/.ssh/known_hosts散列主机名;见于HashKnownHostsman 5 ssh_config-Hman 1 ssh-keygen。使用这种格式是选修的;如果你它,-H见于man 1 ssh-keyscan

请注意,如果有人拦截了您从给定计算机到您的计算机的第一个连接思考是正确的地址(您的 100.101.102.103),他们可以提供假密钥并窃取和/或更改您在该计算机上发送和接收的数据。

相关内容