我使用此方法将文件发送到远程服务器:
def runSendArchive(host, port, username, password, remote_directory, archive):
try:
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host, username, password, port)
sftp = s.open_sftp()
sftp.put(archive, remote_directory)
print "3 - The file was uploaded via SSH!"
except (BadHostKeyException, AuthenticationException, SSHException, socket.error) as e:
print "4 - Error! The file was not uploaded: ", e它返回给我一个例外:
除(BadHostKeyException,AuthenticationException,SSHException,socket.error)为e: NameError:全局名称 未定义“BadHostKeyException”
如何使用这个图书馆?
现在,我得到以下错误:
File "run.py", line 65, in runSendArchive
sftp.put(archive, remote_directory)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 721, in put
return self.putfo(fl, remotepath, file_size, callback, confirm)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 677, in putfo
with self.file(remotepath, 'wb') as fr:
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 338, in open
t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 774, in _request
return self._read_response(num)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 826, in _read_response
self._convert_status(msg)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 859, in _convert_status
raise IOError(text)
IOError: Failure65行是sftp.put(archive, remote_directory)
发布于 2017-11-13 22:21:18
从线上判断
paramiko.SSHClient()你要打电话给import paramiko
由于BadHostKeyException在paramiko.ssh_exception中,所以需要添加一个
from paramiko.ssh_exception import BadHostKeyException, AuthenticationException, SSHException请参阅exception.html
住在那个模块里。
对于示例代码片段,需要在runSendArchive函数之前添加以下内容
import socket
import paramiko
from paramiko.ssh_exception import BadHostKeyException, AuthenticationException, SSHExceptionhttps://stackoverflow.com/questions/47274468
复制相似问题