fs.sshfs
Pyfilesystem2 over SSH using paramiko
What it is and what it does
fs.sshfs wraps paramiko's SSH/SFTP client in a PyFilesystem2 abstraction, so you can treat a remote SSH server as a filesystem object in Python. Instead of manually opening SFTP channels and handling protocol details, you use the same high-level API (open, read, write, listdir, mkdir) that PyFilesystem2 provides for local, memory, and other storage backends. It supports both simple URL-based connection (via fs.open_fs) and direct constructor calls with fine-grained control over timeouts, compression, key authentication, and SSH config file integration.
The package depends on paramiko for SSH transport, fs for the filesystem abstraction, property-cached for performance optimization, and six for Python 2/3 compatibility. It runs on Python 2.7 and 3.5 onwards. While dormant since mid-2023, it remains stable and carries no known security vulnerabilities, making it suitable for applications that need transparent SSH file access without managing low-level SFTP protocol details.
Use it for:
- Backup or sync scripts that treat remote servers as local directories without custom SFTP boilerplate.
- Data processing pipelines that read/write files on remote machines using standard filesystem operations.
- Configuration management tools that need to traverse and modify files across multiple SSH hosts uniformly.
- Testing frameworks that stage test data on remote servers and verify results using filesystem assertions.
- Multi-tenant applications that expose per-user remote storage via a consistent filesystem interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
fs.sshfs provides a PyFilesystem2 interface to remote SSH/SFTP servers, letting you read, write, and navigate files over SSH as if they were a local filesystem.
Yes, if you need SSH file access in Python and want to avoid paramiko's low-level SFTP API. The package is stable, dependency-light, and carries no vulnerabilities. The main caveat is dormancy—no active maintenance since mid-2023—so it's best for stable use cases rather than projects requiring ongoing feature development or rapid bug fixes. Copyleft licensing (LGPLv2+) requires review if you plan to distribute proprietary derivatives.
Install
fs-sshfs on PyPI
pip
pip install fs-sshfsuv
uv add fs-sshfspoetry
poetry add fs-sshfsInstalling fs.sshfs
Before you install
Installation is straightforward with low friction—a pure-Python wheel with six runtime dependencies including paramiko and fs. The package is dormant (last release 2023-08-17, last commit 2024-01-23), but marked Production/Stable and has no known vulnerabilities.
License in practice
Licensed under LGPLv2+, a copyleft license. Derivative works and modifications must be distributed under compatible terms; static linking or proprietary wrapping requires legal review.
Quickstart
import fs
my_fs = fs.open_fs("ssh://user@host/path")
# Or with the constructor:
from fs.sshfs import SSHFS
my_fs = SSHFS(host='example.com', user='alice', pkey='/home/alice/.ssh/id_rsa')
Requires a working SSH server and valid credentials (password, key, or SSH config). paramiko must be able to negotiate a connection; host key verification policy defaults to AutoAddPolicy.
Verify before relying
- Whether the package handles modern SSH key formats (ed25519, etc.) or is limited to older paramiko-supported types.
- Performance characteristics for large file transfers or bulk directory operations over high-latency links.
- Compatibility with recent OpenSSH server versions and non-standard SSH configurations.
Package facts
| License | LGPLv2+ (copyleft) |
| Python support | supports the current Python release (!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — property-cached, fs, paramiko, six, setuptools, configparser |
| Maintenance | dormant — 1,093 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 123,416/month — #11,908 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fs.sshfs-1.0.2-py2.py3-none-any.whl
Keywords: filesystem, Pyfilesystem2, ssh, sftp, paramiko
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
fsProvides a unified filesystem abstraction layer…
permissive · top 5,000 on PyPI
sshfsProvides an fsspec-compatible filesystem…
permissive · top 5,000 on PyPI
littlefs-pythonlittlefs-python provides a Python interface to…
unclear · top 5,000 on PyPI
python-rrmngmntManages remote Linux machines and services over…
copyleft · top 15,000 on PyPI
sshconfsshconf reads and modifies SSH config files…
permissive · top 15,000 on PyPI
pysftppysftp provides a high-level Python interface…
permissive · top 5,000 on PyPI
fs-s3fsS3FS provides a PyFilesystem interface to…
permissive · top 15,000 on PyPI
sftprettyA Python3 wrapper around paramiko that…
permissive · top 15,000 on PyPI
mock-ssh-serverProvides a Python context manager that runs an…
permissive · top 15,000 on PyPI
scpProvides file transfer over SSH using the SCP…
copyleft · top 5,000 on PyPI