Using SFTP

From a terminal
If you created an ~/.ssh/config file, for example: ~/.ssh/id_rsa
Host mybucket
sftp mybucket
Otherwise, use your username@hostname
If you've named your SSH key something different than id_rsa, change this to
sftp -i path_to_my_private_key username@sftp.mybucket.org
Connected to sftp.mybucket.org.
sftp> ls
SFTP, like AWS S3, uses PUT and GET.



With Cyberduck or FileZilla
Cyberduck will read your SSH configuration from your ~/.ssh/config file, and needs no other configuration.

With rclone (recommended) or rsync
rclone and rsync are exceptionally good tools to use.
rclone is especially good at volume transfers as it is heavily multithreaded, and rsync is simple to use for small jobs.
Note: When using rclone, set_modtime must be set to false, owing to issues with the underlying s3 storage.
Here's an example of an rclone configuration file:
> cat /Users/jcabraham/.config/rclone/rclone.conf
[mybucket]
type = sftp
host = sftp.mybucket.org
user = jabraham
key_file = ~/.ssh/id_rsa
md5sum_command = none
sha1sum_command = none
set_modtime = false
With this configuration, one can do things like this:
> rclone sync ./my-giant-dir/ mybucket:/my-giant-dir


