From ArchWiki

Telnet is a traditional protocol used for making remote console connections over TCP. While it is mainly used to connect to legacy equipment nowadays, it is important to note that Telnet uses an unencrypted connection. This lack of security means that connections can easily be intercepted and manipulated. To mitigate this risk, it is recommended to only connect using encrypted channels (e.g a VPN) when the data passes through any unknown network. For a more secure alternative, consider using SSH.


Install the inetutils package.

It includes a telnet client. A telnet server can be configured with systemd sockets or xinetd. telnetd via systemd requires only the inetutils package. To configure a telnet server with xinetd, install xinetd as well.


To enable telnet server connections in systemd, enable telnet.socket (if the telnet server should be started on every boot), and start telnet.socket to test connectivity.

To enable telnet server connections in xinetd, edit /etc/xinetd.d/telnet, change disable = yes to disable = no and restart the xinetd service.

Enable systemd xinetd service if you wish to start it at boot time.

Testing the setup

Try opening a telnet connection to your server:

$ telnet localhost

Try a root login to see if your configuration permits it and the security implications that implies.

If the session disconnects before you receive a login prompt, try installing inetutils-gitAUR in place of the current inetutils and restarting telnet.socket.

Tip: If you receive junk codes from a remote telnet server sending non-ascii chars with a non-unicode encoding, you might want to try luit to solve this problem.