How to Download and Upload Files with SFTP Securely

SFTP (SSH File Exchange Protocol) is properly secured method to transfer files between local and remote server. This method encrypts the transfer of data between local and remote system.

As SFTP provides secure data transfer, so we recommend it over simple FTP method. In case you only have the FTP server operating on remote, use below link for FTP access.

How to Download and Upload Files using FTP Command Line 

Connect to SFTP Server:

SFTP connects to ssh server. You must have the ssh server running on the remote system. Use the following command to connect example.com server as user.

to connect with different port

 sftp -P 2222 [email protected]

After successful authentication, you will get a sftp prompt. Where you can download or upload files securely. To get available commands type help on SFTP prompt.

sftp> help

Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp grp path Change group of file 'path' to 'grp'
chmod mode path Change permissions of file 'path' to 'mode'
chown own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
...
...

Change Local and Remote Directory

First check your local and remote server directory using following commands.

sftp> !pwd
/home/CentOS

sftp> pwd
/home/cppl
  • pwd – Used to check current directory on local system
  • pwd – Used to check current directory on remote system

Now navigate between directories on local and remote sftp system.

sftp> lcd /home/CentOS/Downloads

sftp> cd Uploads
  • lcd – Used to navigate between directories on local system
  • cd – Used to navigate between directories on remote system

Download Files from SFTP

You can Use getcommand to download file from sftp server to local system drive. Use lcd to change location of local download folder. Below command will download remotefile.txt from remote system to local system.

sftp> get remotefile.txt

To download files and folders recursively use -r switch with getcommand. Below command will download folder remotedir from remote system to local system recursively.

sftp> get -r remotedir

Upload Files to SFTP

Use put command to upload a file from local system to remote system. Use cd to change location of remote upload folder first. the below command will upload localfile.txt from local system to remote sftp system.

sftp> put localfile.txt

To upload files and folders recursively use -r switch with putcommand. Following command will upload directory localdir and all files and sub directories to remote server.

sftp> put -r localdir

That’s all you have to do,to Download and Upload Files with SFTP Securely. Please check and give your opinion below if you experience any issues or to discuss your ideas and experiences.