使用paramiko的scp不起作用 - ssh工作正常

Dou*_*eed 6 python linux paramiko

我已经能够在远程服务器中使用ssh和issue命令.现在我想从远程服务器scp文件,但这似乎是不可能的.我对python和Paramiko完全不熟悉.错误是在我的本地目录的darn窗口中被拒绝权限.这些文件应该来自Mac.还有其他非常简单的例子我可以使用scp文件从远程Linux机器到我的本地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)
Run Code Online (Sandbox Code Playgroud)

Ali*_*fee 9

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

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

  • 这是使用SFTP而不是scp ?? (6认同)

dan*_*van 8

你不是scp在这里使用,而是SFTP(SFTPClient).

如果你正在使用设置scp,也许看看这个的paramiko SCP客户端,有一个如何使用它的一个例子在这里.

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