shuft

Tool for uploading folders and files via sftp.


Keywords
sftp
Licenses
BSD-3-Clause/BSD-3-Clause
Install
pip install shuft==1.1.1

Documentation

Shuft

A small command line tool for uploading and downloading files and folders to and from a sftp server. Uses asyncssh and is pip installable for easy use in automated tasks.

https://img.shields.io/travis-ci/steinwurf/shuft/master.svg?style=flat-square&logo=travis
  • Upload/download a file or a folder to/from a sftp server.
  • Requires Python 3.5 or newer.

Getting started

In your virtual python environment of choice, install the shuft pip package.

python pip install shuft

Basic usage.

python shuft --command upload --host files.mydomain.com --localpath my_folder --remotepath /uploads/

Run with ''--help' for addtional options.

shuft --help

usage: shuft [-h] --command {upload,download} --host HOST
             [--localpath LOCALPATH] [--remotepath REMOTEPATH] [--port PORT]
             [--known_hosts KNOWN_HOSTS] [--username USERNAME]
             [--password PASSWORD] [--client_keys CLIENT_KEYS] [--compress]

Upload directories or files

optional arguments:
  -h, --help            show this help message and exit
  --command {upload,download}
                        the task to perform.
  --host HOST           the remote host to connect to.
  --localpath LOCALPATH
                        path to the local folder or file.
  --remotepath REMOTEPATH
                        path to the remote folder or file.
  --port PORT           port number on the remote (defaults to 22).
  --known_hosts KNOWN_HOSTS
                        list of known hosts, if set to None accepts any.
  --username USERNAME   username for logging in on the remote, defaults to the
                        current user
  --password PASSWORD   password for logging in on the remote
  --client_keys CLIENT_KEYS
                        list of client private key(s)
  --compress            whether to compress target folder or file before
                        transmission. Requires that the host accepts ssh
                        connections and has tar available