Paramiko“未知服务器”:故障排除和解决方案
尝试使用 Paramiko 建立 SSH 连接时,用户可能会遇到“未知服务器”如下所示的异常:
paramiko.SSHException: Unknown server 127.0.0.1
当服务器的主机密钥为帕拉米科不认识。要解决此问题,需要将 SSHClient 对象的 Missing_host_key_policy 属性设置为适当的值。
默认情况下,Paramiko 的策略是拒绝所有未知服务器,确保仅与已知且可信的主机建立连接。要覆盖此行为,可以使用以下代码:
client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
AutoAddPolicy 指示 Paramiko 自动将服务器的主机密钥添加到已知主机列表中,使其成为未来连接的可信对象。或者,可以指定不同的策略或根据特定要求编写自己的实现。
设置适当的策略后,可以建立与未知服务器的连接,而不会遇到“未知服务器”异常。此外,可以使用 SSHClient 对象的 get_host_keys() 和 save() 方法将主机添加到受信任的主机列表中。这允许保存和加载主机以供后续使用。
通过了解missing_host_key_policy的作用并使用AutoAddPolicy或自定义实现,开发人员可以有效地处理未知服务器并使用Paramiko建立安全的SSH连接。
以上是Paramiko'未知服务器”错误:如何解决 SSH 连接问题?的详细内容。更多信息请关注PHP中文网其他相关文章!