ฉันใช้วิธีนี้เพื่อส่งไฟล์ไปยังเซิร์ฟเวอร์ระยะไกล:
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
มันส่งคืนข้อยกเว้นให้ฉัน:
except (BadHostKeyException, AuthenticationException, SSHException, socket.error) as e: NameError: global name
ไม่ได้กำหนด '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: Failure
65 บรรทัดคือ sftp.put(archive, remote_directory)