![SSH 从 ssh-keyscan 将密钥添加到known_hosts](https://linux22.com/image/163940/SSH%20%E4%BB%8E%20ssh-keyscan%20%E5%B0%86%E5%AF%86%E9%92%A5%E6%B7%BB%E5%8A%A0%E5%88%B0known_hosts.png)
gitserver
我在部署到 LAN 的远程主机上保留了本地 git 存储库。当我出门在外时,我必须通过 LAN 的外部 IP 访问该服务器。 (路由器不提供环回)。
在家里,我的 LAN DNS 解析gitserver
为 LAN 地址,但当我不在时,我将文件设置gitserver
为/etc/hosts
LAN 的外部 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
散列主机名;见于HashKnownHosts
man 5 ssh_config
并-H
在man 1 ssh-keygen
。使用这种格式是选修的;如果你想它,-H
见于man 1 ssh-keyscan
请注意,如果有人拦截了您从给定计算机到您的计算机的第一个连接思考是正确的地址(您的 100.101.102.103),他们可以提供假密钥并窃取和/或更改您在该计算机上发送和接收的数据。