pyfilesystem2 | |||
six | |||
paramiko |
Install directly from PyPI, using pip
pip install fs.sshfs
Use fs.open_fs
to open a filesystem with an SSH
FS URL:
import fs
my_fs = fs.open_fs("ssh://[user[:password]@]host[:port]/[directory]")
The following URL parameters are supported: timeout
, keepalive
.
For a more granular way of connecting to an SSH server, use the
fs.sshfs.SSHFS
constructor, which signature is:
from fs.sshfs import SSHFS
my_fs = SSHFS(
host, user=None, paswd=None, pkey=None, timeout=10, port=22,
keepalive=10, compress=False, config_path='~/.ssh/config'
)
with each argument explained below:
host
- the name or IP address of the SSH server
user
- the username to connect with, defaults to the current user.
passwd
- an optional password, used to connect directly to the server or to decrypt the public key, if any given.
pkey
- a paramiko.PKey object, a path, or a list of paths to an SSH key.
timeout
- the timeout, in seconds, for networking operations.
port
- the port the SSH server is listening on.
keepalive
- the interval of time between keepalive packets, in seconds. Set to 0 to disable.
compress
- set to
True
to compress the communications with the server config_path
- the path to an OpenSSH configuration file.
Once created, the SSHFS
filesystem behaves like any other filesystem
(see the Pyfilesystem2 documentation).
SSHFS
are aware of SSH config files
and as such, one of the hosts in the configuration file can be provided as the
host
argument for the filesystem to connect to the server with the proper
configuration values.
Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker of the project if you need to report or ask something. If you are filling in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproductible situation.
- fs, the core pyfilesystem2 library
- fs.archive, enhanced archive filesystems for pyfilesystem2
- fs.smbfs, Pyfilesystem2 over SMB using pysmb