Telnet installeren en gebruiken op Ubuntu 20.04 LTS

Telnet is een terminal emulatie programma voor TCP/IP netwerken waarmee je een andere computer op het Internet of op een lokaal netwerk kunt benaderen door in te loggen op het systeem op afstand. Telnet is een client-server protocol dat verbinding maakt met poort 23 van het Transmission Control Protocol. Je kunt Telnet ook gebruiken om open poorten op een ander systeem te controleren.

In deze handleiding leer je hoe je Telnet server en client kunt installeren en gebruiken op een Ubuntu 20.04 LTS server.

WAARSCHUWING: Telnet is een onversleuteld en dus onveilig protocol. Deze gids is alleen voor educatieve doeleinden en is geen aanbeveling om Telnet Server op je systeem te gebruiken. Deze gids toont je hoe je de Telnet client en server kunt installeren en gebruiken voor het geval je meer wilt leren over dit oude server administratie protocol of voor het geval je de Telnet client wilt gebruiken om je mailserver te testen. We raden NIET aan Telnet (Server) te gebruiken op hedendaagse servers, zeker niet als je het over het Internet gebruikt. Om je server over het netwerk te beheren, gebruik je SSH in plaats van Telnet. Het gebruik van een Telnet client is iets anders. Een Telnet client is een handig hulpmiddel om je mail of webserver te testen, bijvoorbeeld, zoals hieronder.

Vereisten

  • Een server waarop Ubuntu 20.04 draait.
  • Een niet-root gebruiker met sudo rechten.
  • Een statisch IP adres 192.168.0.100 configureren op je server.

Installeer Telnet Server

Standaard is het Telnet server pakket beschikbaar in de Ubuntu 20.04 standaard repository. Je kunt het installeren door gewoon het volgende commando uit te voeren:

sudo apt install telnetd -y

Als de installatie voltooid is, kun je de status van de Telnet dienst controleren met het volgende commando:

sudo systemctl status inetd

Uitvoer:

? inetd.service - Internet superserver
   Loaded: loaded (/lib/systemd/system/inetd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-04-29 10:24:05 UTC; 38s ago
     Docs: man:inetd(8)
 Main PID: 2883 (inetd)
    Tasks: 1 (limit: 1114)
   CGroup: /system.slice/inetd.service
           ??2883 /usr/sbin/inetd

Apr 29 10:24:05 ubuntu2004 systemd[1]: Starting Internet superserver...
Apr 29 10:24:05 ubuntu2004 systemd[1]: Started Internet superserver.

Test Telnet verbinding van afgelegen systeem

Telnet server is nu geïnstalleerd en luistert op poort 23. Het is tijd om de Telnet server vanaf het andere systeem te verbinden.

Log nu in op een ander Ubuntu systeem en voer het volgende commando uit:

telnet 192.168.0.100

Je wordt gevraagd je gebruikersnaam en wachtwoord in te voeren. Na succesvolle authenticatie zou je de volgende uitvoer moeten zien:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
Ubuntu 20.04 LTS
ubuntu2004 login: hitesh
Password: 
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-72-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu 29 Apr 2021 09:16:14 AM UTC

  System load:            0.83
  Usage of /:             14.7% of 39.12GB
  Memory usage:           30%
  Swap usage:             0%
  Processes:              163
  Users logged in:        0
  IPv4 address for ens33: 192.168.0.100
  IPv6 address for ens33: 2003:e1:bf4b:8b00:20c:29ff:fef5:ee3c

 * Pure upstream Kubernetes 1.21, smallest, simplest cluster ops!

     https://microk8s.io/

8 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable


Last login: Wed Apr 28 08:50:37 2021 from 192.168.0.20 

Je kunt nu elk commando op de Telnet server uitvoeren met Telnet.

Gebruik telnet om open poorten te testen

Je kunt Telnet ook gebruiken om open poorten op een ander systeem te testen.

Bijvoorbeeld, om poort 80 te testen op het remote systeem (IP 192.168.0.100) voer je het volgende commando uit:

telnet 192.168.0.100 80

Als poort 80 open is, zou je de volgende uitvoer moeten zien:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

Als poort 80 geblokkeerd is of de Telnet dienst draait niet. Je zou de volgende uitvoer moeten zien:

Trying 192.168.0.100...
telnet: Unable to connect to remote host: Connection refused

Gebruik het Telnet commando om een mailserver te testen

Het Telnet commando is ook erg handig om een mailserver te testen. Verbind met een mailserver met Telnet

telnet 192.168.0.100 25

Als de verbinding gelukt is, zie je van de andere server een antwoord dat lijkt op dit:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)

Nu kun je de server antwoorden met het ehlo commando, gevolgd door de domeinnaam van je afzender. Voorbeeld:

ehlo mydomain.tld

De mailserver laat je dan zien welke methoden hij ondersteunt.

250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING

Om de verbinding te verbreken, geef je het commando quit.

quit

Het resultaat zal zijn:

221 2.0.0 Bye
Connection closed by foreign host.

De volledige commando-reeks is:

[email protected]:~# telnet 192.168.0.100 25
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
ehlo mydomain.tld
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
quit
221 2.0.0 Bye
Connection closed by foreign host.
[email protected]:~#

Deze testprocedure is handig als je wilt nagaan of mail diensten (poort 25) door je internet service provider of datacentrum geblokkeerd worden.