通过paramiko在SSH上使用Pyfilesystem2
项目描述
fs.sshfs

需求
PyFilesystem2 | |||
---|---|---|---|
six | |||
paramiko | |||
property-cached |
fs.sshfs
支持PyFilesystem2支持的所有Python版本:Python 2.7,以及Python 3.5及以后。代码仍然应该与Python 3.4兼容,但不再进行测试。
安装
直接从PyPI安装,使用pip
$ pip install fs.sshfs
还有一个conda-forge
包可用
$ conda install -c conda-forge fs.sshfs
用法
打开器
使用fs.open_fs
使用SSH FS URL打开文件系统
import fs
my_fs = fs.open_fs("ssh://[user[:password]@]host[:port]/[directory]")
在FS URL中,可以将sftp
方案用作ssh
方案的别名。可以将额外的参数作为百分号编码的URL参数传递给SSHFS
构造函数(除了policy
)。下面列出了所有支持的参数。
构造函数
为了更精细地连接到SSH服务器,请使用fs.sshfs.SSHFS
构造函数,其签名如下:
from fs.sshfs import SSHFS
my_fs = SSHFS(
host, user=None, passwd=None, pkey=None, timeout=10, port=22,
keepalive=10, compress=False, config_path='~/.ssh/config'
)
下面将解释每个参数
host
:SSH服务器的名称或IP地址user
:连接时使用的用户名,默认为当前用户。passwd
:可选的密码,用于直接连接到服务器或解密任何提供的公钥。pkey
:一个paramiko.PKey
对象、路径,或指向SSH密钥的路径列表。timeout
:网络操作的超时时间,单位为秒。port
:SSH服务器监听的端口号。keepalive
:keepalive包之间的时间间隔,单位为秒。设置为0以禁用。compress
:设置为True
以压缩与服务器的通信。config_path
:OpenSSH配置文件的路径。exec_timeout
:在服务器上执行任意SSH命令的超时时间,单位为秒。policy
:一个paramiko.MissingHostKeyPolicy
实例,或设置为None
以使用paramiko.AutoAddPolicy
。
额外的关键字参数将被传递到底层的paramiko.SSHClient.connect
调用,并优先于隐式推导的参数。一旦创建,SSHFS
文件系统就像任何其他文件系统一样(请参阅PyFilesystem2文档)。
文件
SSHFS.openbin
具有以下额外选项,可以作为关键字参数传递以控制文件缓冲区
prefetch
:默认启用,使用后台线程预取以读取模式打开的文件的内容。对于以写入模式打开的文件不执行任何操作。pipelined
:启用管道模式,避免在两个上传块之间等待服务器响应。对于以读取模式打开的文件不执行任何操作。
配置
SSHFS
了解SSH配置文件,因此配置文件中的一个主机可以作为文件系统的host
参数提供,以便使用正确的配置值连接到服务器。
反馈
发现了一个错误?有增强请求?如果您需要报告或询问,请前往项目的GitHub问题跟踪器。如果您正在填写错误报告,请提供有关问题的尽可能多的信息,并尝试在简单、易于复现的情况下重现相同的错误。
致谢
fs.sshfs
由以下人员开发和维护:
以下人员为fs.sshfs
做出了贡献:
显然,该项目在很大程度上归功于PyFilesystem2项目和所有贡献者。
另请参阅
- fs,核心PyFilesystem2库
- fs.archive,增强的PyFilesystem2存档文件系统
- fs.smbfs,使用pysmb的PyFilesystem2的SMB
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
fs.sshfs-1.0.2.tar.gz (32.2 kB 查看哈希值)
构建分发
fs.sshfs-1.0.2-py2.py3-none-any.whl (24.0 kB 查看哈希值)