SFTP (SSH File Transfer Protocol) is secured protocol to transfer files between local and remote server. To required SSH server running on the remote system. This protocol encrypts the transfer of data between local and remote system. As SFTP provides secure data transfer, so we recommend it over FTP protocol.
SFTP is recommended but in case you only have the FTP server running on remote, use below link for FTP access.
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 rahul.
$ sftp [email protected]
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.
helpAvailable 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.
!pwd/home/ubuntu sftp> pwd/home/rahul
- !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.
lcd /home/ubuntu/Downloadssftp> cd Uploads
- lcd – Used to navigate between directories on local system
- cd – Used to navigate between directories on remote system
Download Files from SFTP
get command 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.
To download files and folders recursively use
-r switch with
get command. Below command will download folder remotedir from remote system to local system recursively.
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.
To upload files and folders recursively use
-r switch with
put command. Below command will upload directory localdir and all files and sub directories to remote server.
put -r localdir
Thanks for the explainer, forgot about ‘cd’ to change locations and pretty much lost myself for a while there!