我正在使用以下代码进入ftp servers
:
ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("locate my_file.txt")
print ssh_stdout
但是,我正在使用多个服务器,所以我经常更换server
参数。在我试图连接的主ftp server
上,我收到此错误:
socket.error: [Errno 60] Operation timed out
每当我尝试使用其他服务器时,我通常会收到此错误:
paramiko.ssh_exception.S SHException:
Server 'ftp.server.org' not found in known_hosts
有没有人知道解决这些问题中的一个或两个的任何可能的解决方案?
答案 0 :(得分:2)
要解决第二个错误,您可以告诉Paramiko自动添加新服务器:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
看看the docs。
答案 1 :(得分:1)
对于第二个问题,您需要在ssh = paramiko.SSHClient()
之后添加以下行:
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
这将允许paramiko自动接受未知密钥(并允许您通过SSH连接到其他服务器)