SSH

Everything to Know About SFTP– Secure File Transfer Protocol?

In this blog we are going to take a look at SFTP or Secure File Transfer Protocol. SFTP is basically “SSH File Transfer Protocol!” And it transfers the data securely by using encryption. SFTP works as a subsystem of SSH and shares the same port. What SSH is configured for which is port number 22 by default.

It is important to note that SFTP is not similar to the “FTP Protocol” rather it’s a different protocol. It simply uses an FTP style of interaction between a client and an sshd server, OK!

So to connect to a remote system via SFTP we use following command:

Sftp user@ip-address or domain.com <– it will give us a prompt of SFTP, as follows:

Sftp>

To list the contents use the ‘ls’ command.

To change to the directory use ‘cd’ or ‘chdir’ followed by the directory name.

To list current working directory use ’pwd’ and to make a directory use ‘mkdir <dir name>’

To copy a file from remote machine to cthe current achine where you are connected with SFTP use the following command:

Sftp> put remote directory/file.txt

To copy files from the current machine to remote machine use sftp command:

Sftp> get file.txt/remotedirectory

For Example: file1.txt is on the system where I am connected with SFTP and I am sending it to my other server:

Please understand that what files you can upload and download just type the command ‘put’ or ‘get’ and press “TAB key”.

To upload you use ‘put’ and to download you use ‘get’ command.

To delete a file use ‘rm file.txt’

To copy recursively use –r option as follows:

Sftp> get –r dir1/ /home/xyz/

Let’s see a demo:

It will require 2 machines. With IP address command you will come to know the IP address of the first machine, similarly you can know the IP address of another machine. Consider that the IP address of the first machine is 1.11 and IP address of 2nd machine is 1.15.

Now to connect these 2 machines what I am going to use is a SFTP command followed by the user – root and connecting this with a root. You can connect with any user and whenever you are going to go into his or land in his home directory, so to prove that lets list the content using ‘ls’ command. It will show you the contents on the second machine also if you run the ‘ls’ command it will show you same contents like first machine.

This means right now we are in roots’ home directory. So let’s say if you connect with a user test then you are going to land in his home directory.

Let me tell you what we can do with this SFTP Protocol. So let’s say I want to put a file or let’s talk about make directory i.e. mkdir command used to make the directory test2. You can see the contents using ‘ls’ command. On the second machine also you will not see anything on the second machine. In this case it is required to upload a file. So use the ‘put’ command and press the tab key.

You will see the rest of files from which you can upload a file.

So upload the test2.txt file from machine1 as follows:

put ‘tab key’ <file name>

When you will run ‘ls’ command on the second machine you will see the contents. If you want to remove a file, use ‘rm’ command.

If you check it on a second machine, you will see that the file is removed.

Let’s say if you want to download some files assume that I have created a text file in 1.11 machine and if you check it in 1.15 it will not be present there. So download this file using ‘get’ command as follows:

get press tab key

Or

get <filename>

Let’s check it whether that file has been downloaded or not on 1.15 machine using ‘ls’ command, you will find that the file is present.

Let’s discuss how a directory can be uploaded using its contents.

Consider there is a directory last2.txt.

SFTP works in such a way that when you are going to upload the file you should have the same directory name in the remote system also. What does it mean by?

For example: assume that if you want to upload a directory with its contents but remember that it should have the same directory name in the remote screen / machine also, otherwise it will give you an error.

So let’s try to upload that directory using the following command:

put –r test2.txt

It will upload the files on the second machine. Type ‘ls’ command and you will see that the content is visible using ‘ls’ command.

Thus we have proved that while uploading a directory it should have the same name as in the local and remote machine. But for downloading you don’t need anything like that.

This is it! I hope after reading this blog you must have learned something from it. You are always welcome and if you want to leave any comment please leave it in the comment section below.

Visit- Hostripples

Best Secured Web Hosting Plans


Vishwajit Kale
Vishwajit Kale blazed onto the digital marketing scene back in 2015 and is the digital marketing strategist of Hostripples, a company that aims to provide affordable web hosting solutions. Vishwajit is experienced in digital and content marketing along with SEO. He's fond of writing technology blogs, traveling and reading.

Recent Posts

The Ultimate Showdown: Linux vs Windows for VPS Hosting

As the demand for virtual private servers (VPS) continues to grow, businesses and individuals are faced with a crucial decision:…

2 weeks ago

Questions to Ask Your Web Hosting Support Team

Web hosting is a large industry, as many other factors help any web hosting provider to form a company. The…

2 weeks ago

How to Secure Your WordPress Site in 2025

Welcome to the complete guide to WordPress security best practices in 2024. As technology evolves rapidly, implementing strong security measures…

3 weeks ago

Unlocking the Secrets of Hosting: Essential Questions to Ask Hostripples

Hey, wanted to learn about web hosting? Or do you want to start a new website and need hosting? Questions…

3 weeks ago

DDoS Attacks: What You Need to Know for Protection

In today's digital world, the threat of DDoS attacks has become increasingly prevalent. These types of attacks have the power…

1 month ago