何时以及为何使用 load_host_keys 和 load_system_host_keys?

4 投票
1 回答
4178 浏览
提问于 2025-04-30 08:31

我第一次用私钥文件连接一个主机。在连接之前,我需要调用 load_host_keys 这个函数吗?还是可以跳过它?我已经设置了自动添加缺失主机密钥的选项,但 Python 怎么知道主机密钥文件的位置呢?

所以我想问,什么时候需要使用 load_host_key 这个函数呢?

暂无标签

1 个回答

-2

从本地的主机密钥文件中加载主机密钥。用这种方法读取的主机密钥会在通过 load_system_host_keys 加载的密钥之后进行检查,但可以通过 save_host_keys 保存回来(这样就可以进行修改)。如果连接到一个之前不知道的服务器,缺失的主机密钥策略 AutoAddPolicy 会将密钥添加到这个集合中并保存。

这个方法可以多次调用。每次新的主机密钥集合都会和现有的集合合并(如果有冲突,新密钥会替换旧密钥)。在自动保存时,会使用最后一个主机名。

读取一个已知的 SSH 主机密钥文件,格式是 openssh 使用的。这种类型的文件在 Windows 上通常不存在,但在 posix 系统上,通常会存储在 os.path.expanduser("~/.ssh/known_hosts") 这个路径下。

撰写回答