SFTP Basic Commands

Livia LimaLivia Lima
2 min read

SSH File Transfer Protocol (also Secure File Transfer Protocol, or SFTP) is a network protocol that provides file access, file transfer, and file management over a secure channel, such as SSH.

Connect

Enter the username and remote hostname or IP address at the command prompt. Once authentication successful, you will see a shell with an sftp> prompt.

[user@computer1 ~]$ sftp demo@192.168.1.2
demo@192.168.1.2's password:
Connected to demo@192.168.1.2.
sftp>

When using a SSH identity file (private key) for public key authentication:

sftp -i keypair.pem demo@192.168.1.2

Check current directory

lpwd – print the current directory on your local system

sftp> lpwd
Local working directory: /home/livia
sftp>

pwd – print the current directory on the remote server

sftp> pwd
Remote working directory: /home/demo
sftp>

List files

lls – list the files in the current directory on your local system

sftp> lls
 Desktop      lab           py3-venv
 Documents    mail           R
 dotfiles     myserverfile       snap
 Downloads    node_modules       Videos
sftp>

ls – list the files in the current directory on the remote server

sftp> ls
Desktop    Documents  Downloads  Music
Pictures   Videos
sftp>

Download files

get – download one file from remote server

sftp> get remote_file.pem
Fetching /home/demo/remote_file.pem to remote_file.pem
/home/demo 100% 1696   906.8KB/s   00:00
sftp>

mget – download multiple files from remote server

sftp> mget *.csv
Fetching /home/demo/user1_accessKeys.csv to user1_accessKeys.csv
/home/demo 100%   96    73.1KB/s   00:00
Fetching /home/demo/user2_accessKeys.csv to user2_accessKeys.csv
/home/demo 100%   96    67.0KB/s   00:00
sftp>

Upload files

put – upload one file from local computer to the remote server

sftp> put local_file.pem
Uploading local_file.pem to /home/demo/local_file.pem
local_fil 100% 1696    75.2KB/s   00:00
sftp>

mput – upload multiple files from local computer to the remote server

sftp> mput *.csv
Uploading user1_accessKeys.csv to /home/demo/user1_accessKeys.csv
user1_acce 100%   96   129.7KB/s   00:00
Uploading user2_accessKeys.csv to /home/demo/user2_accessKeys.csv
user2_acce 100%   96   132.1KB/s   00:00
sftp>

Change directory

lcd – change the current directory on your local system

sftp> lpwd
Local working directory: /home/livia
sftp> lcd lab/
sftp> lpwd
Local working directory: /home/livia/lab
sftp>

cd – change the current directory on the remote server

sftp> pwd
Remote working directory: /home/demo
sftp> cd Documents/
sftp> pwd
Remote working directory: /home/demo/Documents
sftp>

Exit

exit – exit the remote server sftp session

sftp>
sftp> exit
[user@computer1 ~]$

More about SFTP can be found at the manual page.

0
Subscribe to my newsletter

Read articles from Livia Lima directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Livia Lima
Livia Lima

Uncertified geek, always ready to nerd out at some cool tech. Networking, Linux, Cloud, and all that jazz. (She/Her)