SFTPObjectStore#
- class composer.utils.SFTPObjectStore(host, port=22, username=None, password=None, known_hosts_filename=None, known_hosts_filename_environ='COMPOSER_SFTP_KNOWN_HOSTS_FILE', key_filename=None, key_filename_environ='COMPOSER_SFTP_KEY_FILE', missing_host_key_policy='RejectPolicy', cwd='', connect_kwargs=None)[source]#
Utility for uploading to and downloading to a server via SFTP.
- Parameters
host (str) โ
The server to connect to.
Also accepts a URI string in the form
'sftp://username@host:port/./relative/path'
. For an absolute path, use a double // โ e.g.'sftp://username@host:port//absolute/path'
.port (int, optional) โ The server port to connect to.
username (str, optional) โ The username (if not specified in the SSH config) needed to authenticate. Defaults to None.
password (str, optional) โ The password (if required) needed to authenticate. Defaults to None.
key_filename (Path | str, optional) โ The filepath to the a private key (if required) needed to authenticate. Defaults to None. Any keys specified here will be tried in addition to any keys specified in
~/.ssh/
or via a SSH agent.key_filename_environ (str, optional) โ Environment variable defining path to an SSH keyfile. Only used if key_filename is not provided. Default:
COMPOSER_SFTP_KEY_FILE
.known_hosts_filename (Path | str, optional) โ The filename of the known hosts file. If not specified, the default SSH known hosts will be used.
known_hosts_filename_environ (str, optional) โ Only used if known_hosts_filename is not provided. Default:
COMPOSER_SFTP_KNOWN_HOSTS_FILE
.missing_host_key_policy (str | paramiko.client.MissingHostKeyPolicy, optional) โ
The class name or instance of
paramiko.client.MissingHostKeyPolicy
to use for a missing host key. Defaults to'RejectPolicy'
.Built-in options: *
'RejectPolicy'
(the default), which will reject any host key not authorized in theknown_hosts_filename
. *'AutoAddPolicy'
, which will add any unknown host key. *'WarningPolicy'
, which will warn on an unknown host key.For custom logic, subclass
paramiko.client.MissingHostKeyPolicy
, and provide an instance of this class.cwd (str, optional) โ The directory to navigate to upon creating the SSH connection. If not present it will be created.
connect_kwargs (dict[str, Any], optional) โ Any additional kwargs to pass through to
SSHClient.connect()
.