Your Gateway To Digital Success
Wesbytes Blue Logo

Wesbytes Knowledge Base

Search our articles or browse by category below

How to Securely Transfer Files via rsync and SSH on Linux

Last modified: July 2, 2022
You are here:
Estimated reading time: 1 min

1. Securely Download From a Server

i. Standard SSH Port:

rsync -avHe ssh user@server:/path/to/file /home/user/path/to/file
  • user: The username of the remote user through which you’ll be logging into the target (remote) server.
  • server: The hostname or IP address of the target (remote) server.
  • /path/to/file: The path to the file that needs to be downloaded from the target (remote) server. Besides, file is the file name.
  • /home/user/path/to/file: The local path where you would like to store the file that is downloaded from the target (remote) server. File is the file name.

Example:

rsync -avHe ssh [email protected]:/home/adam/testfile1 /home/localuser/testfile1

ii. Alternate SSH Port:

rsync -avHPe "ssh -pPORTNUMBERuser@server:/path/to/file /home/user/path/to/file
  • PORTNUMBER: The destination (remote) server’s SSH port number.
  • user: The remote user’s username, which you will use to log into the target server (which is remote).
  • server: the target (remote) server’s hostname or IP address.
  • /path/to/file: the location of the file on the target (remote) server, where file is the name of the file.
  • /home/user/path/to/file: the local path, where file is the file name, and file is the file that you want to download from the target (remote) server.

Example:

rsync -avHPe "ssh -p1337" [email protected]:/home/adam/testfile1 /home/localuser/testfile1

2. Securely Upload To a Server

i. Standard SSH Port:

rsync -avH /home/user/path/to/file -e ssh user@server:/path/to/file
  • /home/user/path/to/file: the local path, where file is the file name, where file will be uploaded to the target (remote) server.
  • user: The remote user’s username, which you will use to log into the target server (which is remote).
  • server: the target (remote) server’s hostname or IP address.
  • /path/to/file: the remote path, where file is the file name, for the file that will be uploaded to the target (remote) server.
rsync -avH /home/localuser/testfile1 -e ssh [email protected]:/home/adam/testfile1

ii. Alternate SSH Port:

rsync -avHPe "ssh -pPORTNUMBER/home/user/path/to/file -e ssh user@server:/path/to/file
  • PORTNUMBER: The port number for SSH on the target (remote) server.
  • /home/user/path/to/file: The local path where the file that will be uploaded to the target (remote) server exists, where file is the file name.
  • user: The username of the remote user through which you’ll be logging into the target (remote) server.
  • server: The hostname or IP address of the target (remote) server.
  • /path/to/file: The remote path for the file that will be uploaded to the target (remote) server, where file is the file name.

Example:

rsync -avHPe "ssh -pPORTNUMBER" /home/localuser/testfile1 -e ssh [email protected]:/home/adam/testfile1
Was this article helpful?
Dislike 0
Views: 4