何时以及为何使用 load_host_keys 和 load_system_host_keys?
我第一次用私钥文件连接一个主机。在连接之前,我需要调用 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") 这个路径下。