2013-02-19 4 views
5

Я смог использовать команду ssh и issue на удаленном сервере. Теперь я хочу scp-файлы с удаленного сервера, но это просто кажется невозможным. Я совершенно не знаком с python и Paramiko. Ошибка разрешена в моем локальном каталоге червячных окон. Предполагается, что файлы поступают с Mac. Любой другой действительно простой пример, который я могу использовать для scp-файлов с удаленной Linux-машины на мою локальную машину Windows?scp using paramiko does not work - ssh отлично работает

import paramiko 


hostname = '192.xx.1.xx' 
password = 'pop123' 
username = "husbad2" 
port = 22 

mypath='C:\\Users\\handsonexpert\\Documents' 
remotepath='/Users/ihussain/testdir/file3.txt' 


t = paramiko.Transport((hostname, 22)) 
t.connect(username=username, password=password) 
sftp = paramiko.SFTPClient.from_transport(t) 
sftp.put(mypath, remotepath) 
+1

вы должны использовать sftp.get, если ваша цель состоит в том, чтобы извлечь файлы из 192.168.1.132 в mypath. –

ответ

8

Для извлечения файлов с удаленного хоста в локальный каталог:

...... 
localpath='C:\\Users\\handsonexpert\\Documents\\file3.txt' 
remotepath='/Users/ihussain/testdir/file3.txt' 
...... 
sftp.get(remotepath, localpath) 
+4

Это использование SFTP не scp ?? – danodonovan

+0

-bash: ошибка синтаксиса около неожиданного токена 'remotepath, localpath '- это допустимая ошибка? – swateek

8

Вы не используете scp здесь, но SFTP (SFTPClient).

Если вы настроены на использование scp, возможно, посмотрите на этот paramiko scp клиент, есть пример того, как его использовать here.

Помимо, из общих интересов безопасности и стиля программирования, делать не жесткого код вашего пароля и учетные данные пользователя, и особенно никогда не публиковать их в общественном форуме, как SO. Нам они не нужны, и вам не нужно публиковать их.

+0

'SFTP' и' FTP' - это разные протоколы. – Dikei