7

我已经能够在远程服务器中使用 ssh 和发出命令。现在我想从远程服务器 scp 文件,但这似乎是不可能的。我对 python 和 Paramiko 完全陌生。该错误是在我的该死窗口的本地目录中拒绝权限。这些文件应该来自Mac。我可以使用其他任何非常简单的示例将文件从远程 Linux 机器 scp 到我的本地 Windows 机器吗?

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)
4

2 回答 2

11

要将文件从远程主机检索到本地目录:

......
localpath='C:\\Users\\handsonexpert\\Documents\\file3.txt'
remotepath='/Users/ihussain/testdir/file3.txt'
......
sftp.get(remotepath, localpath)
于 2013-02-19T10:05:45.150 回答
8

您不是scp在这里使用,而是SFTP( SFTPClient)。

如果您打算使用scp,不妨看看这个paramiko scp客户端,这里有一个如何使用它的示例。

此外,出于一般的安全利益和编程风格,不要对您的密码和用户凭据进行硬编码,尤其是永远不要在像 SO 这样的公共论坛上发布它们。我们不需要它们,您也不需要发布它们。

于 2013-02-19T09:51:52.640 回答