What is telnet command:
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. The term "telnet" also refers to the command-line utility that uses the Telnet protocol, allowing you to connect to remote systems or devices.
Installing Telnet in Different Linux Distributions
Depending on the Linux distribution you are using, follow the steps below to download and install
CentOS, Fedora, and RHEL
CentOS, Fedora, and RHEL use
yum (Yellowdog Update Manager) as the primary package manager. Follow the steps below:
Update the system package
repository to make sure the latest version is installed:
Run the following commands to install
telnet and the
telnet server packages required for it to function properly:
The command installs the two packages. The
-y flag automatically answers Yes to any prompts during the installation.
After the installation completes, start and enable the
telnet service by running:
telnet port (the default port is 23) through the firewall on the remote machine. Run the following command:
Reload the firewall to apply the changes:
telnet port is now allowed through the firewall.
Ubuntu and Debian-Based Distributions
Ubuntu and other Debian-based distributions use the
apt package manager by default. Follow the steps below to install
Note: Learn the difference between apt and yum.
Update the system package repository:
Run the following command to install
Wait for the installation to complete. The service should start automatically.
telnet is properly installed by running:
The output shows that the daemon is up and running.
Allow port 23 through the firewall on the remote machine by running:
Reload the firewall:
telnet port is now allowed through the firewall.
Note: The command above is for the ufw firewall. If you are using a different firewall, follow the instructions for that specific program.
How to Use telnet in Linux
A vital prerequisite for using
telnet is to have it installed on both the local and remote machine, and that the default port 23 is allowed through the firewall on the remote machine.
The syntax for the
telnet command is:
[port] parameters are optional. For
telnet accepts symbolic and numeric addresses.
Running the command without options or without specifying an address opens the
telnet interactive mode:
Use the interactive shell to connect to remote servers, print the connection status, etc.
To end a session and exit
The sections below provide practical
telnet use case examples.
Check for Open Ports
Although it is not a secure option for establishing a remote connection,
telnet is a great way to check if a specific port is open on a server. Check if a certain port is answering any calls by specifying the port number in the command. Doing so allows you to see what’s going on in a network and if a port is responsive or not.
Use the following syntax:
Not specifying a port number defaults to port 23. For example, to check if port 22 is open on a server, run:
The connection breaks, which means that the specified port is not open.
However, trying port 80 yields a different result:
The output shows that the port is open since the connection was established.
Download Web Page to File
telnet allows users to connect to port 80 of a website and download the HTML source code to the terminal. This allows you to save and inspect the source code, check it for errors, etc.
For example, the following command connects to port 80 on Google :
After establishing the connection, download the HTML web page by running:
The screenshot above shows that the command has downloaded the homepage source code.
Save the code to a file or inspect it in the terminal.
Test SMTP Communication
Another useful feature of
telnet is that it allows users to test the SMTP port by sending emails directly from the command line. To do so, you need an email server that doesn’t require authentication. It is a great way to troubleshoot problems in an email client.
Follow the steps below to send an email using
Connect to the server via the SMTP port:
[server_address], specify the SMTP server address. For example, for Gmail it is smtp.gmail.com, while the SMTP
[port] can be 25, 465, 587, etc., depending on the provider.
Greet the server with
Specify the sender:
Specify the recipient:
Specify the subject and email body, separated by a blank line:
Note: Most mail servers flag unsolicited anonymous mail, which means that it will likely end up in the spam folder.
Connect to Remote System
If you decide to use
telnet for remote connections despite its lack of security, do it by specifying the remote machine’s IP address.
Make sure that
telnet is installed on both machines and port 23 is allowed through the firewall on the remote machine.
When prompted, enter the account username and password to log in to the system. After logging in, you can operate the other machine remotely.
After the connection is established, you are in control of the remote machine.
This tutorial showed how to use the
telnet command in Linux. Although it has poor security features and isn’t recommended for remote connections, the command has other uses that make it beneficial.