Python SSH/SFTP模块是什么?

11

我一直在寻找一个模块,可以让我在Python中执行SSH / SFTP功能,而不需要手动使用Popen。有类似这样的东西吗?我没有找到任何真正的信息,谢谢!


1
paramiko是用于Python的SSH和SFTP客户端实现库。http://stackoverflow.com/search?q=[python]+ssh+sftp - jfs
4个回答

14

4

2

针对SFTP,您可以使用pysftp这个库,它是paramiko的SFTP客户端的轻量封装(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')

1
我喜欢pysftp包,也很感谢你指出在通过pip安装时它被称为sftp,但是在导入时却要用pysftp。然而,最近我需要一个新的安装(针对Python 3.6),而现在pip实际上需要pysftp。此外,为了更好的安全性,如果您想使用仅密码身份验证,则现在必须显式禁用主机密钥检查。这并不难做到(只需添加几行代码,警告消息和文档会告诉您需要做什么),但您可能希望更新您的答案以反映这些更改。 - John Y
@JohnY 谢谢,好知道。我目前没有使用这个包;如果你有一些代码片段,欢迎更新答案。 - Franck Dernoncourt

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接