Python SSH / SFTP 模块?

Posted

技术标签:

【中文标题】Python SSH / SFTP 模块?【英文标题】:Python SSH / SFTP Module? 【发布时间】:2010-12-08 21:45:26 【问题描述】:

我一直在寻找一个模块,它允许我在 python 中执行 SSH / SFTP 功能,而无需使用 POPEN 手动执行。有这样的吗?我还没有找到这方面的任何真实信息,谢谢!

【问题讨论】:

帕拉米科? ***.com/search?q=[python]+ssh+sftp 【参考方案1】:

您可能正在寻找优秀的 paramiko 库:

http://www.paramiko.org/

【讨论】:

【参考方案2】:

paramiko 效果很好:Paramiko Homepage

【讨论】:

【参考方案3】:

根据您希望通过 ssh 执行的操作,您可能还会从查看 pexpect 库中受益:http://www.noah.org/wiki/pexpect

【讨论】:

【参考方案4】:

对于 SFTP,您可以使用 pysftp,这是对 paramiko 的 SFTPClient (pip install sftp) 的精简包装。

下载文件示例:

import pysftp #pip install sftp
import sys

hostname = "128.65.45.12"
username = "bob"       
password = "123456"  

sftp = pysftp.Connection(hostname, username=username, password=password)

sftp.get('/data/word_vectors/GoogleNews-vectors-negative300.txt', preserve_mtime=True)
print('done')

【讨论】:

我喜欢 pysftp 包,我喜欢你注意到通过 pip 安装时它被称为sftp,尽管它被导入为pysftp。但是,我最近需要一个新安装(对于 Python 3.6),而 pip 现在实际上想要pysftp。此外,为了更好的安全性,如果您想使用仅密码身份验证,您现在必须明确禁用主机密钥检查。这一点都不难做到(几行额外的代码,警告消息和文档说明了您需要做什么),但您可能需要更新您的答案以反映这些变化。 @JohnY 很高兴知道。我目前没有使用该软件包;如果您有一些代码 sn-p,欢迎您更新答案。

以上是关于Python SSH / SFTP 模块?的主要内容,如果未能解决你的问题,请参考以下文章

python实现ssh及sftp功能

python paramiko模块sftp异常:paramiko.ssh_exception.SSHException: EOF during negotiation

SSH与Python模块paramiko

python模块paramiko与ssh

python的paramiko模块

Python Paramiko实现sftp文件上传下载以及远程执行命令