Telnet es un programa de emulación de terminal para redes TCP/IP que le permite acceder a otra computadora en Internet o en una red local iniciando sesión en el sistema remoto. Telnet es un protocolo cliente-servidor que se conecta al puerto 23 del Protocolo de Control de Transmisión. También puede usar Telnet para comprobar los puertos abiertos en un sistema remoto.
En este tutorial, aprenderá cómo instalar y usar el servidor y el cliente Telnet en un servidor Ubuntu 20.04 LTS.
ADVERTENCIA: Telnet es un protocolo no cifrado y, por lo tanto, inseguro. Esta guía es solo para fines educativos y no es una recomendación para usar Telnet Server en su sistema. Esta guía le mostrará cómo instalar y usar el servidor y el cliente Telnet en caso de que quiera aprender más sobre este antiguo protocolo de administración del servidor o en caso de que quiera usar el cliente Telnet para probar su servidor de correo. NO recomendamos usar Telnet (Servidor) en los servidores actuales, especialmente si lo usa a través de Internet. Para administrar su servidor a través de la red, use SSH en lugar de Telnet. Usar un cliente Telnet es algo diferente. Un cliente Telnet es una herramienta útil para probar su correo o servidor web, por ejemplo, como se muestra a continuación.
Requisitos
- Un servidor que ejecuta el servidor Ubuntu 20.04.
- Un usuario no root con privilegios sudo.
- Configure una dirección IP estática 192.168.0.100 en su servidor.
Instalar servidor Telnet
De forma predeterminada, el paquete del servidor Telnet está disponible en el repositorio predeterminado de Ubuntu 20.04. Puede instalarlo simplemente ejecutando el siguiente comando:
sudo apt install telnetd -y
Una vez completada la instalación, puede verificar el estado del servicio Telnet usando el siguiente comando:
sudo systemctl status inetd
Salida:
? 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.
Probar conexión Telnet desde sistema remoto
El servidor Telnet ahora está instalado y escuchando en el puerto 23. Es hora de conectar el servidor Telnet desde el sistema remoto.
Ahora, inicie sesión en otro sistema Ubuntu y ejecute el siguiente comando:
telnet 192.168.0.100
Se le pedirá que ingrese su nombre de usuario y contraseña. Después de una autenticación exitosa, debería ver el siguiente resultado:
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
Ahora puede ejecutar cualquier comando en el servidor Telnet usando Telnet.
Use telnet para probar puertos abiertos
También puede usar Telnet para probar puertos abiertos en un sistema remoto.
Por ejemplo, para probar el puerto 80 en el sistema remoto (IP 192.168.0.100), ejecute el siguiente comando:
telnet 192.168.0.100 80
Si el puerto 80 está abierto, debería ver el siguiente resultado:
Trying 192.168.0.100... Connected to 192.168.0.100. Escape character is '^]'.
Si el puerto 80 está bloqueado o el servicio Telnet no se está ejecutando. Debería ver el siguiente resultado:
Trying 192.168.0.100... telnet: Unable to connect to remote host: Connection refused
Use el comando Telnet para probar un servidor de correo
El comando Telnet también es muy útil para probar un servidor de correo. Conéctese a un servidor de correo usando Telnet
telnet 192.168.0.100 25
Si la conexión es exitosa, verá una respuesta del otro servidor similar a esta:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
Ahora puede responder al servidor con el comando ehlo, seguido del nombre de dominio del remitente. Ejemplo:
ehlo mydomain.tld
El servidor de correo le mostrará entonces qué métodos admite.
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
Para salir de la conexión, ingrese el comando quit.
quit
El resultado será:
221 2.0.0 Bye
Connection closed by foreign host.
La secuencia de comandos completa es:
[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]:~#
Este procedimiento de prueba es útil si desea averiguar si los servicios de correo (puerto 25) están bloqueados por su proveedor de servicios de Internet o centro de datos.