paramiko не может открыть SFTP-соединение

У меня возникли проблемы с открытием SFTP-соединения с paramiko. Мой текущий код:

client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.load_system_host_keys()
client.connect('some.example.com', username="myuser", password="mypassword")
sftp_client = client.open_sftp()
sftp_client.put(my_local_file)

Но в тот момент, когда я нажимаю client.open_sftp(), я получаю исключение «Невозможно открыть канал».

Любая идея, что может вызвать это? Мне удалось открыть соединение с сервером с помощью sftp-клиента командной строки.

Я догадываюсь о своем вызове здесь, если кто-нибудь может указать мне пример, это было бы здорово.


person Chris Curvey    schedule 27.07.2011    source источник


Ответы (1)


Вам нужно сначала создать и подключиться к транспорту:

transport = Transport((host, port))
transport.connect(username = username, pkey = mykey) # or password = mypassword

Теперь, чтобы запустить SFTP-клиент:

sftp_client = SFTPClient.from_transport(transport)

Тогда ты можешь

sftp_client.put(my_local_file)

и когда вы закончите

sftp_client.close()
transport.close()
person agf    schedule 27.07.2011