A transfer protocol is a set of rules and conventions that dictate how data should be exchanged between systems or devices over a network. It defines the format and sequence of messages during communication, ensuring that data is transmitted accurately and reliably.
ACRONYMS | MEANING |
SSH | Secure SHell |
FTP | File Transfer Protocol |
SFTP | SSH File Transfer Protocol |
TFTP | Trivial File Transfer Protocol |
HTTP | HyperText Transfer Protocol |
SMTP | Simple Mail Transfer Protocol |
TCP | Transmission Control Protocol |
IP | Internet Protocol |
UDP | User Datagram Protocol |
TYPES OF TRANSFER PROTOCOL
There are various transfer protocols, each designed for specific purposes. Examples include:
FTP: Used for transferring files between computers over a network.
HTTP: Primarily used for transferring web pages on the World Wide Web.
SMTP: Used for sending emails between servers.
TCP/IP: A suite of protocols governing communication on the Internet.
We will only focus on file transfer protocol in this article, SFTP to be precise
FTP: FTP serves as a standard protocol facilitating communication between computers and servers over a network, such as the Internet. In our daily web browsing activities, when the system sends a request to the server, it transfers the required files for rendering the webpage to the client. FTP functions as the language computers use to transfer files over a TCP/IP network. We have different types of FTP which include:
SFTP
TFTP
FTPS
FTPES, etc
These are all protocols employed for transferring files over a network. While these protocols share similarities, they also exhibit slight differences, which we will explore in this article.
TFTP: Similar to FTP, TFTP is utilized for transferring files but within a Local Area Network (LAN). TFTP is often employed for transferring configuration files and operates as a connectionless protocol, using UDP instead of TCP.
SFTP: As the name implies, SFTP is a secured file transfer protocol. Data is shared via a secured shell, introducing an extra layer of security to prevent potential breaches by hackers, ensuring a smooth flow of data transfer.
SETTING UP YOUR ENVIRONMENT FOR SFTP (Linux)
On your terminal, you can confirm if you have sftp already installed with this command
sftp -v
This should print a message with all the available options
If you have it already installed, you can skip this process of installation
Install OpenSSH Server:
sudo apt update sudo apt install openssh-server
Start and Enable SSH Service:
sudo systemctl start ssh sudo systemctl enable ssh
if you get an error message while trying to start and enable the service, do this;
sudo service ssh start
Now let's connect to a server. The sftp
command is a built-in SFTP client for Linux. To connect to an SFTP server, use the following syntax:
sftp username@hostname_or_IP
This should prompt you to enter the password of the system we connected to
BASIC COMMANDS FOR FILE TRANSFER
When we connect to the remote machine, the same way we navigate our local machine is close to the same way we would do on our remote machine.
ls
- this command is used to list all the directories and files in the current working directory of the remote system.pwd
- this prints the current working directory of the remote system.cd
- this is to change the working directory of the remote system.rm
- deletes a file in the current working directory of the remote system.The commands mentioned above are all used to navigate the remote system, to navigate your local machine add
l
to the beginning of the command except forrm
e.glpwd
put
- this command is used to upload files from the local machine to the remote systemget
- the command is used to download files from the remote system to your local machine.
syntax for the put and get command:
{the command name} {the flag if necessary} {the file/folder to upload/download}
USES OF FTP
Transferring files between computers.
Web developers can easily upload their files to their web servers.
ADVANTAGES OF SFTP OVER FTP
SFTP uses a secured, encrypted channel to communicate.
SFTP is part of the SSH protocol which is a telecommunication software.
SFTP is more secure and reliable than FTP
SFTP is compatible with most operating systems and software applications.
SFTP is a fast protocol making it ideal for transferring large files.
All data transferred over an SFTP connection is encrypted meaning unauthorized parties cannot intercept or read it.