paramiko를 사용하여 sftp를 통해 파일을 서버에 업로드하려고합니다.Paramiko가 연결되지 않았습니다.
def send_file(server_, port_, user_, passwd_, file_, dir_):
"""
:return:
"""
try:
transport = paramiko.Transport((server_, int(port_)))
transport.connect(username=user_, password=passwd_)
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put(file_, dir_)
sftp.close()
except RuntimeError, err:
print(str(err))
이 함수를 실행하면 소켓 시간이 초과 될 때까지 응답이없고 응답도 없습니다.
자격 증명이 정확합니다. 동일한 컴퓨터와 동일한 네트워크에서 sftp 및 ssh 클라이언트로 시도했습니다. 또한 트랜스 포트를 통과하고 직접 값을 연결합니다. 변경하지 않았습니다. 이 기능을 사용하면 server_의 로그에 아무런 연결이 표시되지 않습니다. 호스트 키가 known_hosts 파일에 있습니다.
try 블록의 첫 번째 문이 성공합니다 (포트 _에 int 대신 문자열을 전달하면 예외가 발생 함) 두 번째 줄에 문제가있는 것 같습니다.
여기에 문제가 있습니까?
미리 감사드립니다.
UPDATE 1 :
나는 ipython2이를 시도하고 작동합니다.ssh.open_sftp
를 사용하여, 당신은 SFTP를 통해 보낼 수 있습니다
def onUpload(self):
file_, ok = QtGui.QInputDialog.getText(self, 'Input Dialog', 'Datei inklusive Pfad angeben: ')
server_, port_, user_, passwd_, dir_ = ftpmod.read_config()
ftpmod.send_file(server_, port_, user_, passwd_, file_, dir_)
최신 업데이트 : 2014-08- 25. 그래서 : 아니. – Steffen
paramiko의 버그 (?) 인 것 같습니다. [this] [1] and [this] [2] question. [1] : http://stackoverflow.com/questions/443387/why-does-paramiko-hang-if-you-use-it-while-loading-a-module/450895#450895 [2] : http://stackoverflow.com/questions/13155890/paramiko-hanging-during-authentication-when-runned-by-dint-of-unittest-runner?lq=1 – Steffen
링크 [2]을 (를) 읽으십시오. 그것은 여전히 12에 있었고 문제는 똑같습니다. connect() 스레드의 잠금입니다. 그래서, 다시 : 아니. – Steffen