Cómo utilizar el comando telnet en Linux
Telnet (abreviatura de red teletipo) es una herramienta de línea de comandos que facilita la comunicación remota y la comprobación de redes.
Se utilizaba mucho para gestionar servidores y dispositivos, pero su falta de cifrado provocó problemas de seguridad en entornos modernos, lo que provocó su declive en favor de alternativas, como el shell seguro (SSH).
Hoy en día, telnet sigue siendo una utilidad valiosa para probar servicios de red, depurar problemas de conectividad, analizar respuestas del servidor y aprender sobre protocolos de red.
En este artículo, cubriremos todo lo que necesitas saber sobre el uso de telnet en Linux, incluyendo su instalación, sintaxis y opciones básicas, casos de uso modernos e importantes consideraciones de seguridad.
Al final de esta guía, serás capaz de utilizar esta herramienta versátil de red en entornos controlados.
Tabla de Contenidos
Requisitos previos
Antes de utilizar telnet en Linux, prepara dos máquinas: una como cliente telnet y otra como sistema de destino.
Puedes utilizar dos ordenadores de mesa Linux, un ordenador de sobremesa y un servidor privado virtual (VPS) o, como en este tutorial, dos servidores virtuales VPS de Hostinger. Si eliges esto último, selecciona cualquier plan que se adapte a tus necesidades.
Como sólo vamos a practicar comandos telnet, el plan más básico, KVM 1, bastará para ambos servidores.
A continuación, asegúrate de que tienes autorización para la máquina de destino y de que conoces su dirección IP. Si eres usuario de Hostinger VPS, puedes encontrar la IP de tu servidor en hPanel yendo a VPS → Administrar → Información de VPS.
¡Atención! Acceder a sistemas no autorizados es ilegal y poco ético. En nuestro caso, podemos ejecutar comandos libremente ya que somos propietarios de ambas máquinas Linux.
Confirma que tienes privilegios administrativos o sudo para instalar y configurar telnet en el cliente y en el sistema de destino. Para los clientes VPS de Hostinger, concedemos acceso root completo para que puedas modificar tu servidor cuando lo necesites.
Además, prepara un software de terminal para ejecutar comandos telnet en la máquina cliente.
Puedes utilizar el terminal incorporado de Linux o software de terceros como PuTTY. Como alternativa, Hostinger ofrece un Terminal de navegador que te permite ejecutar comandos directamente en tu navegador sin instalar otras aplicaciones.
Para utilizar esta función, pulsa el botón correspondiente en la esquina superior derecha del panel de control de tu VPS. Se abrirá una nueva pestaña del navegador en la que podrás empezar a ejecutar comandos.
Cómo instalar telnet en Linux
En esta sección, instalaremos telnet en la máquina cliente principal y en el sistema remoto de destino. Sigue atentamente las instrucciones y asegúrate de ejecutar los comandos en la máquina correcta.
Máquina cliente principal
Aquí tienes los pasos para instalar el cliente telnet en diferentes distribuciones de Linux:
- Actualiza y mejora los paquetes del sistema para mantenerlo al día:
- Para sistemas basados en Debian como Ubuntu y Kali Linux:
sudo apt update && sudo apt upgrade
- Para sistemas basados en RHEL como CentOS y Fedora:
sudo dnf upgrade
- Instala el cliente telnet con uno de los siguientes comandos:
sudo apt install telnet # Debian-based systems
sudo dnf install telnet # RHEL-based systems
- Comprueba si el cliente se ha instalado correctamente escribiendo:
telnet
La instalación se ha realizado correctamente si muestra la sesión telnet interactiva de la siguiente forma:
Sal de la sesión con:
quit
Sistema remoto objetivo
En el sistema de destino, tendrás que instalar el servidor telnet, abrir su puerto en el cortafuegos y crear un usuario dedicado, ya que telnet no permite el acceso root por defecto por motivos de seguridad. Sigue estos pasos:
- Actualiza y mejora los paquetes de tu sistema, de forma similar a la máquina cliente:
sudo apt update && sudo apt upgrade # Debian-based systems
sudo dnf upgrade # RHEL-based systems
- Instala el servidor telnet con:
sudo apt install telnetd # Debian-based systems
sudo dnf install telnet-server # RHEL-based systems
- En las distribuciones basadas en Debian, el servidor telnet se inicia automáticamente. En los sistemas basados en RHEL, inicia y activa el servicio manualmente:
sudo systemctl start telnet.socket sudo systemctl enable telnet.socket
- Comprueba el estado del servicio para asegurarte de que realmente se está ejecutando:
systemctl status inetd # Debian-based systems
systemctl status telnet.socket # RHEL-based systems
- Permite el puerto telnet (23 por defecto) a través del cortafuegos. Si no utilizas ningún cortafuegos, sáltate este paso. De lo contrario, ejecuta los comandos que se indican a continuación en función de tu distribución:
- Para sistemas basados en Debian que utilicen Firewall sin complicaciones (UFW):
sudo ufw allow 23/tcp sudo ufw reload
- Para distribuciones basadas en RHEL que utilicen Firewalld:
sudo firewall-cmd --permanent --add-port=23/tcp sudo firewall-cmd --reload
- Crea un nuevo usuario específico para telnet, sustituyendo nuevo_usuario por tu nombre de usuario preferido:
sudo useradd nuevo_usuario
- Establece una contraseña para el usuario ejecutando:
sudo passwd nuevo_usuario
Se te pedirá que introduzcas y confirmes la contraseña.
Consejo profesional
Si ya no necesitas telnet en tu sistema, desinstálalo con:
sudo apt remove telnet telnetd # Sistemas basados en Debian /
sudo dnf remove telnet telnet-server # Sistemas basados en RHEL
Sintaxis y opciones básicas del comando telnet
La sintaxis básica de telnet es la siguiente:
telnet [options] [remote_server_ip] [port]
- telnet: el comando para invocar telnet.
- [options]: opcional. Banderas que modifican el comportamiento del comando telnet.
- [remote_server_ip]: la dirección IP de la máquina remota a la que quieres acceder.
- [port]: opcional. El número de puerto al que conectarse. Si no se especifica, telnet utiliza el puerto 23 por defecto.
Cuando lo ejecutes, el comando establecerá una conexión con el servidor especificado. Te pedirá que introduzcas el nombre de usuario y la contraseña que creaste previamente para telnet:
Al igual que muchos comandos de Linux como ssh, scp y ftp, puedes añadir opciones al comando telnet para personalizar su comportamiento.
A continuación se indican las opciones más utilizadas y sus finalidades:
Opción | Función |
-4 | Fuerza el uso de IPv4. |
-6 | Fuerza el uso de IPv6. |
-a | Intenta una autenticación automática basada en el nombre de usuario local. |
-b | Especifica la dirección IP local que hay que enlazar antes de establecer una conexión. |
-c | Desactiva la lectura del archivo .telnetrc del usuario. |
-d | Activa el modo de depuración para mostrar información de diagnóstico detallada. |
-e char | Establece el carácter de escape para la sesión telnet. |
-E | Desactiva el carácter de escape, tratando toda la entrada como literal. |
-k | Envía la entidad de seguridad Kerberos especificada durante la autenticación. |
-l user | Especifica el nombre de usuario para el inicio de sesión automático. |
-n file | Registra la sesión en un archivo especificado. |
-x | Activa la encriptación de la sesión si está soportada. |
-X | Desactiva la opción TELNET STARTTLS. |
-? | Muestra el menú de ayuda de telnet. |
-V | Muestra la versión del cliente telnet. |
Por ejemplo, si tienes varios usuarios telnet y quieres especificar uno inicialmente, puedes ejecutar el siguiente comando. Sustituye usuario y servidor_remoto_ip por tus credenciales reales:
telnet -l usuario servidor_remoto_ip
Tras acceder con éxito a la máquina remota, puedes interactuar con su shell como si fuera tu servidor principal. Si quieres salir de la sesión, simplemente escribe:
logout
Así te desconectarás de la sesión telnet.
También puedes entrar en la sesión interactiva, como hicimos antes para comprobar si telnet estaba correctamente instalado, escribiendo telnet sin ningún argumento:
telnet
Ejemplos prácticos de telnet
Aquí tienes algunos ejemplos seguros de uso de telnet en entornos modernos, desde examinar servidores de correo hasta solucionar problemas de puertos personalizados.
Probar servidores SMTP
Telnet puede ayudar a diagnosticar problemas del servidor del Protocolo simple de transferencia de correo (SMTP) y a verificar configuraciones.
El proceso suele consistir en comprobar si el servidor acepta conexiones, procesa correctamente los comandos y gestiona las transmisiones de correo electrónico.
Para conectarte a un servidor SMTP utilizando telnet, sigue estos pasos:
- Ejecuta el siguiente comando para iniciar una conexión. Sustituye smtp.ejemplo.tld por los datos de tu servidor SMTP:
telnet smtp.ejemplo.tld 25
Si la conexión se realiza correctamente, verás un mensaje de bienvenida del servidor de correo, similar a:
- Preséntate al servidor SMTP utilizando el nombre de dominio desde el que te conectas. Sustituye dominio.tld por tu dirección real:
HELO dominio.tld
- Introduce el siguiente comando para definir el remitente del correo electrónico:
MAIL FROM:<mail_sender@dominio.tld>
- Haz lo mismo con el destinatario del correo electrónico:
RCPT TO:<mail_recipient@dominio.tld>
- Para introducir el contenido del correo electrónico, escribe:
DATA
- El servidor te pedirá que introduzcas el cuerpo del mensaje. Escribe tu mensaje y termina introduciendo un solo punto (.) en una nueva línea para indicar el final del mensaje:
Asunto: Email de prueba Éste es un correo electrónico de prueba enviado mediante telnet. .
El servidor debe confirmar que el mensaje se ha puesto en espera.
- Cuando hayas terminado las pruebas, sal de la sesión escribiendo:
QUIT
Consejo profesional
Hay varios puertos SMTP que puedes utilizar: 25, 465, 587 y 2525. Conoce sus diferencias y cómo elegir el adecuado a tus necesidades.
Evaluar servidores POP3
Además de comprobar servidores SMTP, telnet también resulta útil para comprobar servidores Post Office Protocol 3 (POP3). Utilizando este método, puedes autenticarte e interactuar con tu bandeja de entrada para solucionar problemas de recuperación de correo electrónico.
Los pasos para probar un servidor POP3 son los siguientes:
- Escribe el comando que aparece a continuación, sustituyendo pop.ejemplo.tld por el nombre de host real de tu servidor POP3:
telnet pop.ejemplo.tld 110
- Introduce tu dirección de correo electrónico completa o simplemente el dominio. En algunos casos, puede que tengas que probar ambas para ver cuál funciona:
USER address@domain.tld USER domain.tld
- Una vez que el servidor responda con +OK, introduce tu contraseña de correo electrónico para iniciar sesión:
PASS tu_contraseña
Si lo hiciste bien, deberías ver:
- Intenta ver el número total de correos electrónicos de tu bandeja de entrada con:
STAT
- Para listar todos los correos electrónicos con sus ID y tamaños:
LIST
- También puedes recuperar el contenido de un correo electrónico. Sustituye id por el número de identificación único del correo electrónico:
RETR id
- Después de verificar el funcionamiento del servidor, no olvides salir de telnet escribiendo:
QUIT
Depurar servidores HTTP
Puedes utilizar telnet para depurar servidores del Protocolo de transferencia de hipertexto (HTTP) conectándote a ellos por el puerto 80, el puerto por defecto para el tráfico HTTP.
Este método te permite enviar solicitudes manualmente y comprobar si el servidor responde correctamente.
Si tu máquina remota tiene un servidor HTTP, aquí tienes cómo depurarlo:
- Conéctate al servidor remoto ejecutando:
telnet remote_server_ip 80
- Escribe la siguiente petición HTTP GET para recuperar la página por defecto del servidor. Sustituye dominio.tld por el dominio que apunta al servidor:
GET / HTTP/1.1 Host: dominio.tld
Asegúrate de pulsar Intro dos veces después de introducir la solicitud.
- El servidor responderá con las cabeceras HTTP y, en la mayoría de los casos, con el contenido de la página solicitada. Por ejemplo:
Como siempre, teclea “QUIT” cuando hayas terminado de depurar.
Comprobar servidores FTP
Utilizar telnet para probar un servidor de Protocolo de transferencia de archivos (FTP) es una forma rápida de verificar si funciona correctamente y si el puerto 21 por defecto no está bloqueado.
Ten en cuenta que esto es sólo con fines de prueba. Cuando transfieras archivos, utiliza siempre protocolos más seguros como FTPS o SFTP.
Aquí tienes las instrucciones para comprobar tu servidor FTP:
- Utiliza este comando para acceder al servidor, sustituyendo servidor_remoto_ip por los datos reales de tu servidor:
telnet servidor_remoto_ip 21
- Puedes enviar manualmente comandos FTP básicos para comprobar el funcionamiento del servidor. Por ejemplo, para comprobar el tipo y la versión del servidor:
SYST
- También puedes verificar las funciones compatibles de tu servidor FTP utilizando:
FEAT
Interactuar con servidores IRC
Internet Relay Chat (IRC) es un protocolo de comunicación de texto en tiempo real que se utiliza para charlas y debates en grupo.
Aunque las plataformas de mensajería modernas lo han sustituido en gran medida, todavía puedes conectarte a un servidor IRC utilizando telnet para comprobar su disponibilidad e interactuar con él.
Ten en cuenta que el IRC es un protocolo de texto plano, así que evita compartir información sensible a través de él. Sigue estos pasos para conectarte a un servidor IRC con telnet:
- Utiliza el siguiente comando para conectarte al servidor IRC que desees en su puerto por defecto (6667):
telnet irc.dominio.tld 6667
- Después de que el servidor te dé la bienvenida, envía un comando NICK para definir tu apodo:
NICK tu_nickname
- Establece tu nombre de usuario y proporciona un identificador personal:
USER tu_usuario 0 * :tu nombre completo
- Utiliza el comando JOIN para entrar en un canal IRC. Sustituye #nombre_canal por el nombre del canal al que quieras unirte:
JOIN #nombre_canal
Si tienes éxito, recibirás mensajes del canal, incluyendo una lista de los usuarios que están actualmente en el chat:
- Para enviar un mensaje al canal, utiliza:
PRIVMSG #nombre_del_canal :Tu mensaje aquí
- Cuando hayas terminado, sal del servidor escribiendo:
QUIT :Mensaje de despedida
Examinar los puertos personalizados
Por último, telnet te permite probar la conectividad con cualquier puerto abierto, lo que lo hace especialmente útil si tienes servicios no estándar que se ejecutan en puertos personalizados o si has cambiado el puerto por defecto de un servicio por otro personalizado, como cambiar SSH del puerto 22 a otro.
Aquí cómo hacerlo:
- Especifica la dirección IP del servidor remoto y el puerto que quieres probar:
telnet remote_server_ip port
Recibirás una respuesta si el puerto está abierto y el servicio se está ejecutando. En caso contrario, telnet mostrará un mensaje de error:
- Dependiendo del servicio que se ejecute en el puerto personalizado, envía los comandos adecuados para interactuar con él. Por ejemplo, si se trata de una aplicación personalizada, podrías utilizar el comando siguiente, sustituyendo /custom_endpoint por la ruta definida por tu servicio:
GET /custom_endpoint HTTP/1.1 Host: remote_server_ip
Dependiendo de la aplicación, el servicio responderá con datos específicos del puerto personalizado, como cabeceras, mensajes o incluso códigos de error.
Consideraciones de seguridad al utilizar el comando telnet
Telnet se ha utilizado históricamente para conexiones remotas y administración de redes.
Sin embargo, todos los datos, incluida la información sensible como nombres de usuario y contraseñas, se transmiten en texto plano. Esto lo hace muy vulnerable a la interceptación por parte de atacantes, especialmente en redes públicas o no fiables.
Debido a estos riesgos, sólo debes ejecutar telnet en entornos controlados o locales para tareas básicas de depuración, como probar puertos abiertos o verificar la comunicación SMTP.
Para comunicaciones seguras con servidores remotos, es mejor utilizar SSH, ya que este protocolo encripta todos los datos en tránsito, protegiendo tu información de posibles ataques.
Si necesitas probar protocolos seguros o servicios encriptados, considera alternativas más seguras como openssl o Netcat (nc). Estas herramientas te permiten depurar y probar conexiones de red de forma segura, lo que es ideal para aplicaciones sensibles.
Conclusión
En este artículo hemos visto cómo utilizar el comando telnet para probar servicios como SMTP, POP3, servidores HTTP y puertos especificados.
Esto muestra cómo telnet sigue siendo útil para solucionar problemas de red en un entorno Linux controlado o local.
Sin embargo, debido a su falta de cifrado, debes utilizar el protocolo telnet con responsabilidad y sólo para tareas no sensibles. Recomendamos SSH, openssl o nc para conexiones remotas seguras o evaluaciones de servicios encriptados.
Si reconoces los puntos fuertes y riesgos de telnet, podrás utilizarlo eficazmente para situaciones concretas, al tiempo que das prioridad a las alternativas seguras para las aplicaciones críticas.
Además, asegúrate de que tienes la autorización necesaria antes de utilizar telnet para acceder a servidores o servicios remotos.
Esperamos que esta guía te haya sido de utilidad. Si tienes algún comentario o pregunta, escríbela en la sección de abajo. ¡Buena suerte!
Comando telnet de Linux – Preguntas frecuentes
Esta sección cubre algunas de las preguntas más comunes sobre el comando telnet.
¿Qué es el comando telnet utilizado en Linux?
El comando telnet en Linux se utiliza para probar y solucionar problemas de servicios de red estableciendo una conexión de texto plano con un host remoto.
Ayuda a verificar si determinados puertos están abiertos y si servicios como SMTP, HTTP y POP3 responden como se espera.
¿En qué se diferencia telnet de SSH?
Telnet transmite los datos en texto plano, lo que lo hace inseguro, mientras que SSH cifra toda la comunicación para garantizar la seguridad de los datos.
Telnet suele utilizarse para la depuración básica en entornos controlados, mientras que SSH es la herramienta preferida para el acceso remoto seguro a servidores y la administración de sistemas.
¿Puedo utilizar telnet para probar un servidor seguro?
No, telnet no puede probar servidores seguros porque no admite conexiones cifradas. En su lugar, utiliza herramientas como openssl o nc para probar servidores que ejecuten protocolos seguros, como HTTPS o SMTPS, que requieren encriptación.