2013-02-19 23 views
5

ich in der Lage gewesen ssh und Ausgabe-Befehl in dem Remote-Server zu verwenden. Jetzt möchte ich Dateien vom Remote-Server scp, aber das scheint einfach unmöglich. Ich bin völlig neu bei Python und Paramiko. Der Fehler ist verweigert in meinem lokalen Verzeichnis von Darn Windows. Die Dateien sollen vom Mac stammen. Ein anderes wirklich wirklich einfaches Beispiel, das ich verwenden kann, um Dateien von einem entfernten Linux-Rechner auf meinen lokalen Windows-Rechner zu scannen.scp paramiko nicht funktioniert - ssh funktioniert

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

Sie sollten sftp.get wenn Ihr Ziel ist, die Dateien aus 192.168.1.132 in mypath abzurufen verwendet. –

Antwort

8

Um Dateien von einem Remote-Host in einem lokalen Verzeichnis abrufen:

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

Dies ist mit SFTP nicht scp ?? – danodonovan

+0

-bash: Syntaxfehler in der Nähe des unerwarteten Tokens 'remotepath, localpath 'ist das ein gültiger Fehler? – swateek

8

Sie sind nicht scp hier verwendet wird, aber SFTP (SFTPClient).

Wenn Sie auf scp eingestellt sind, sehen Sie sich vielleicht diesen paramiko scp Client an, es gibt ein Beispiel dafür, wie Sie es verwenden können here.

Abgesehen von allgemeinen Sicherheitsinteressen und Programmierstil, nicht hart Code Ihres Passwort und Benutzer-Credentials, und vor allem nie wie SO sie in einem öffentlichen Forum veröffentlichen. Wir brauchen sie nicht und du musst sie nicht posten.

+0

'SFTP' und' FTP' sind unterschiedliche Protokolle. – Dikei

Verwandte Themen