该known_hosts
文件看起来并不简单。在 Windows 上,我看到它包含主机名、IP 地址和一些 RSA 密钥。
在 Linux 上,我看到它包含几个由条分隔的键。
谁在 Windows 上管理此文件?如何在 Windows 上将某些主机添加为此文件的“已知”主机?
Putty 能做到这一点吗?如果 Putty 有某些已知主机,我可以将此主机记录从 Putty 数据库复制到~/.ssh/known_hosts
Windows 上吗?
答案1
PuTTY 将已知主机存储在 Windows 注册表中。在常见问题解答中,他们提供了一个 Python 脚本将现有known_hosts
文件转换为 Windows .REG 文件,但添加~/.ssh/known_hosts
不会添加到 PuTTY 信任的主机。
您还可以通过 PuTTY 连接并单击 PuTTY 安全警报上的“是”来单独添加主机。为此,请打开 PuTTY GUI 并填写所需的字段以进行连接,或从命令行调用它:putty.exe username@hostname port
答案2
在 Windows 10 Pro 中,您可以从“设置”->“应用”->“可选功能”添加“Open SSH Client”。这样您就可以同时获得ssh-keygen
和ssh-keyscan
。
就我而言,我必须先运行ssh-keygen
以获取密钥对%HOMEPATH%\.ssh
。然后我根据他们的指示将公钥文件上传到我想要连接的主机。
然后在我的 .ssh 目录中的命令提示符中运行ssh-keyscan [host] > known_hosts
。
(然后我可以使用一个简单的 Python 脚本自动连接paramiko
。)