Как повторно создать pysftp.Connection с параметром прокси?

Я подключаюсь к SFTP-серверу с помощью pysftp, но мне нужно перенастроить его для работы через прокси. Поскольку pysftp его не поддерживает, я думаю об использовании Paramiko.

Похоже, я использую преимущества pysftp.Connection, поскольку похоже, что мой код использует рекурсивную передачу файлов.

Какие шаги мне нужно сделать, чтобы воссоздать pysftp.Connection, но с возможностью использования прокси? Просмотр базы кода немного пугает, так как я не знаю что редактировать...


person simplycoding    schedule 01.05.2020    source источник


Ответы (1)


Ты можешь сделать:

import pysftp
import paramiko

hostname, prot = 'some.host.name', 22
proxy = paramiko.proxy.ProxyCommand('/usr/bin/nc --proxy proxy.foobar:8080 %s %d' % (hostname, port))
t = paramiko.Transport(sock=proxy)
t.connect(username='abc', password='123')

sftp = paramiko.SFTPClient.from_transport(t) # back to pysftp wrapper
sftp.listdir('.')

Вот происхождение кода с некоторыми обсуждениями.

person namesys    schedule 01.05.2020