跳转到主要内容

通过paramiko在SSH上使用Pyfilesystem2

项目描述

fs.sshfs star me

Source PyPI Conda Actions Codecov Codacy License Versions Format GitHub issues Downloads Changelog

需求

PyFilesystem2 PyPI fs Source fs License fs
six PyPI six Source six License six
paramiko PyPI paramiko Source paramiko License paramiko
property-cached PyPI property Source property License property

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服务器监听的端口号。
  • keepalivekeepalive包之间的时间间隔,单位为秒。设置为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 查看哈希值)

上传时间 Python 2 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面