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.
sftp command has the following command.
sftp [user@]host[:file ...]
sftp -b batchfile [user@]host
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
$ sftp root@ubu1
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
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.
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.
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.
List Files On Local
And here how to list on local
Upload File To Remote
The upload will send local file or files to the remote system.
Upload Multiple Files To Remote
Multiple files can be uploaded like below. To upload by using globbing file extension, generic names can be used.
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 .
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 .
Switch Directory On Local
Current working directory on local can be changed similar to the remote.
Create Directory On Remote
Directories can be created on remote sftp server the same as Linux operating system command mkdir .
Create Directory On Local
Same as remote but prefixed with l
Remove File On Remote
The file can be removed from remote sftp server with rm command
Remove Directory On Remote
Removing directory command is different from file remove command on the remote .
To exit from sftp shell alternative commands exist.