File Transfer Protocol is a very popular protocol for transferring files between hosts. FTP is a fast and practical protocol not secure. In old times security was no problem but into days world security is important. So new protocols and ways developed to make FTP like operations more secure. Secure FTP or SFTP is a protocol developed for secure file transfers. SFTP works over SSH protocol and provides abilities and features of FTP. SSH by default runs on port 22/TCP. In this tutorial, we will look at usage and examples of SFTP. Windows alternative for sftp client is Putty SFTP or Psftp which is provided by putty tools.

Syntax

sftp command has the following command.

OR

OR

Connect To Sftp

The first step to used sftp is connecting a server. As stated before sftp uses ssh protocol and connection will be made to the ssh server. Authentication is done according to the servers ssh connection configuration which generally a username, password authentication.

$ sftp ubu1

Or different user name can be explicitly defined

Man and Help Sftp

To get more and detailed help there is two way exists. First one is a simple and fast way with a help option.

$ sftp -h

$ man sftp

Command Help

After connecting an sftp server the commands provided by this server can be listed like below.

?

As we see there is a command like cd, chgrp, chmod, exit, ls etc. We will look at these commands in detail next examples.

Current Working Directory On Remote

The current working directory is the path currently active all issued commands works according to the current working directory. For example, to download centos.iso given command will look current working directory. This is how can we get the current working directory.

pwd

Current Working Directory On Local

There is a local current working directory for sftp. When downloading files by default files will be downloaded to the local current working directory.

lpwd

List Files On Remote

To download files we should know the exact file names. The best way to get file names exactly is by listing them with the list command.

ls

List Files On Local

And here how to list on local

lls

Upload File To Remote

The upload will send local file or files to the remote system.

mput tmux.tar.gz

Upload Multiple Files To Remote

Multiple files can be uploaded like below. To upload by using globbing file extension, generic names can be used.

mput *

OR

mput *.bak

Upload Directory To Remote

As we see the previous example mput command is only used for files. To upload directories there is another command to use.

put -r *

This will put all files and directories to the remote working directory.

Download File To Local

Another popular usage of sftp is downloading files from remote with get .

get tmux.tar

Download Directories To Local

Downloading directories recursively done with get command. To get directories and subdirectories recursively -r parameter is provided like below.

get -r test3

Switch Directory On Remote

The current working directory for remote can be changed with the simple command cd .

cd tmux

Switch Directory On Local

Current working directory on local can be changed similar to the remote.

lcd ..

Create Directory On Remote

Directories can be created on remote sftp server the same as Linux operating system command mkdir .

mkdir test

Create Directory On Local

Same as remote but prefixed with l

lmkdir test

Remove File On Remote

The file can be removed from remote sftp server with rm command

rm tmux.tar

Remove Directory On Remote

Removing directory command is different from file remove command on the remote .

rmdir test

Exit

To exit from sftp shell alternative commands exist.

!

OR

exit