Я думал, что поделюсь этой загадкой. ,,Я успешно использую «обычное» paramiko для SFTP в течение многих лет (но всегда для порта 22). У меня было требование выполнить SFTP через нестандартный порт (115), и я не смог установить соединение.
Переход на pysftp решил проблему, но, насколько я могу судить, pysftp встроен поверхбиблиотеки paramiko.
«обычный» код paramiko:
import paramiko
transport = paramiko.Transport((hostname,115))
transport.connect(username=user,password=passwd)
sftp = paramiko.SFTPClient.from_transport(transport)
Выдана ошибка:
File "c:\python27\lib\site-packages\paramiko\transport.py", line 311, in __init__
'Unable to connect to %s: %s' % (hostname, reason))
paramiko.ssh_exception.SSHException: Unable to connect to XXX.XXX.XXX.XXX: [Errno 10060]
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because connected host
has failed to respond
Переход на pysftp решил проблему, но pysftp имеет paramikoзависимость
sftp = pysftp.Connection(hostname,username=user,password=passwd,port=115)
понимание ценится