2013-02-19 85 views
5

我已經能夠在遠程服務器中使用ssh和issue命令。現在我想從遠程服務器上scp文件,但這看起來像是不可能的。我對python和Paramiko完全陌生。該錯誤是在我的本地darn窗口目錄中拒絕了權限。這些文件應該來自Mac。任何其他真的很簡單的例子,我可以用來從遠程Linux機器scp文件到我的本地Windows機器?scp使用paramiko不工作 - 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中。 – 2013-02-19 09:56:49

回答

8

檢索從遠程主機文件到本地目錄:

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

這是使用SFTP而不是scp? – danodonovan 2013-02-19 11:13:52

+0

-bash:意外標記附近的語法錯誤'remotepath,localpath'是否是一個有效的錯誤? – swateek 2018-02-22 06:34:34

8

您沒有使用scp這裏,但SFTPSFTPClient)。

如果你使用scp,也許看看這個paramiko scp客戶端,有一個如何使用它的例子here

除此之外,出來的一般安全利益和編程風格,硬編碼密碼和用戶憑據,尤其是從未它們發佈在一個公開論壇,像這樣。我們不需要他們,你不需要發佈他們。

+0

'SFTP'和'FTP'是不同的協議。 – Dikei 2013-02-19 10:54:40