【问题标题】:scp using paramiko doesnt work - ssh works fine使用 paramiko 的 scp 不起作用 - ssh 工作正常
【发布时间】:2013-02-03 22:51:18
【问题描述】:

我已经能够在远程服务器中使用 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)

【问题讨论】:

  • 如果您的目标是将文件从 192.168.1.132 检索到 mypath 中,则应该使用 sftp.get。

标签: python linux paramiko


【解决方案1】:

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

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

【讨论】:

  • 这是使用 SFTP 而不是 scp ??
  • -bash: 意外标记 `remotepath,localpath' 附近的语法错误这是一个有效错误吗?
【解决方案2】:

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

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

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

【讨论】:

  • SFTPFTP 是不同的协议。
猜你喜欢
  • 2014-05-26
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-15
  • 1970-01-01
相关资源
最近更新 更多