Iniciar sesión
Iniciar sesión

Cómo usar el comando Telnet en Linux

Cómo usar el comando Telnet en Linux
Hostman Team
Technical writer
Sistema Linux
13.10.2025
Reading time: 6 min

El comando Telnet es una herramienta práctica de comunicación en red en Linux. Desde el escaneo de puertos remotos hasta la depuración de conexiones, Telnet ofrece una forma sencilla, basada en texto, de interactuar con un host remoto.

En esta guía paso a paso aprenderás cómo instalar, configurar y utilizar Telnet en Linux. También explicaremos sus principales opciones y características para que tengas una comprensión completa.

¿Qué es Telnet?

Telnet, abreviatura de Telecommunication Network, es un protocolo de red que permite conectarse de forma remota a otro ordenador mediante el TCP (Transmission Control Protocol). Permite especificar directamente el host remoto y el puerto para enviar comandos y recibir respuestas en tiempo real.

Telnet se utiliza principalmente para:

  • Probar puertos abiertos: comprobar si un servidor tiene un puerto accesible.
  • Acceder a servicios: conexión directa a servicios web, de correo electrónico u otros servicios de red.
  • Solucionar problemas de red: diagnosticar errores de conectividad o puertos bloqueados.

Instalación de Telnet en Linux

Telnet no viene preinstalado en la mayoría de las distribuciones modernas de Linux. El método de instalación depende del sistema que utilices.

Para sistemas basados en Ubuntu/Debian

Los usuarios de Ubuntu, Debian o similares pueden instalar Telnet con el siguiente comando:

sudo apt install telnet

Para sistemas basados en Red Hat/CentOS

En Red Hat, CentOS o Fedora, utiliza yum o dnf:

sudo yum install telnet

o en versiones más recientes:

sudo dnf install telnet

Sintaxis del comando Telnet

La sintaxis de Telnet es muy sencilla:

telnet [hostname/IP] [port]

Parámetros:

  • [hostname/IP]: especifica el nombre o dirección IP del host remoto.

  • [port]: indica el número de puerto al que conectarse (por defecto, 23).

Telnet establece una conexión directa con servicios en puertos específicos, como: HTTP (puerto 80), SMTP (puerto 25) y FTP (puerto 21).

Opciones principales del comando Telnet

Telnet ofrece múltiples opciones para personalizar su funcionamiento y hacerlo más flexible.

Opción

Descripción

-4

Fuerza el uso exclusivo de IPv4.

-6

Fuerza el uso exclusivo de IPv6.

-8

Permite la transferencia de datos de 8 bits.

-E

Desactiva el carácter de escape.

-K

Impide el envío automático de credenciales (como tickets Kerberos).

-L

Activa el modo loopback (conexión al propio host).

-X atype

Especifica el tipo de autenticación (por ejemplo, KERBEROS_V4).

-a

Introduce automáticamente el nombre de usuario al iniciar sesión.

-d

Activa el modo de depuración mostrando detalles de la conexión.

-e char

Define un carácter de escape personalizado.

-l user

Especifica el nombre de usuario para la conexión.

-n tracefile

Guarda la actividad de la sesión en un archivo de registro.

-b addr

Define la dirección o interfaz local utilizada para la conexión.

-r

Crea una conexión Telnet inversa (reverse Telnet).

 

Uso práctico de Telnet

Telnet se utiliza habitualmente para diagnosticar y probar redes. A continuación, algunos ejemplos.

Probar puertos abiertos

Para comprobar si el puerto 80 de un servidor está abierto:

telnet example.com 80

Image2

Si el puerto está abierto, Telnet mostrará una pantalla en blanco esperando entrada, lo que indica que el puerto está escuchando. Si está cerrado o bloqueado, aparecerá un mensaje como: Connection refused

Interactuar con servidores SMTP

Telnet puede utilizarse para depurar servidores de correo enviando comandos SMTP en texto plano:

telnet mail.example.com 587

Image5

Una vez conectado, puedes escribir comandos como HELO, MAIL FROM o RCPT TO para comunicarte con el servidor.

Image3

Enviar solicitudes HTTP

También puedes usar Telnet para probar manualmente un servidor web:

telnet example.com 80

Image4

Luego escribe:

GET / HTTP/1.1
Host: example.com

Pulsa Enter dos veces para enviar la solicitud. La respuesta del servidor se mostrará inmediatamente en la terminal.

Image6

Forzar conexión IPv4

Si el servidor admite IPv4 e IPv6, puedes forzar la conexión a través de IPv4:

telnet -4 example.com 80

Image1

Esto asegura compatibilidad con redes que solo utilizan IPv4.

Depurar un servidor MySQL

Telnet también puede utilizarse para comprobar si el puerto de MySQL (3306) está abierto:

telnet database.example.com 3306

Si la conexión tiene éxito, Telnet mostrará un mensaje de bienvenida del servidor MySQL.

Consideraciones de seguridad

Aunque es útil, Telnet es inseguro por diseño, ya que transmite todos los datos —incluidas las contraseñas— en texto plano.

👉 Por tanto:

  • Evita usar Telnet en redes públicas o sin cifrado. Utiliza siempre redes privadas o seguras.
  • Usa alternativas seguras, como SSH (Secure Shell), para comunicaciones cifradas.
  • Desactiva el servicio Telnet en tus servidores si no es necesario.

Casos de uso avanzados

Telnet también puede utilizarse en otros contextos más específicos:

  • Supervisión de servicios: consultar protocolos como IMAP o POP3 para depurar problemas de correo.
  • Gestión de dispositivos IoT: algunos dispositivos conectados usan Telnet como interfaz de texto.
  • Uso educativo: excelente herramienta para aprender sobre protocolos de red y respuestas de servidor.

Problemas comunes y soluciones

A pesar de su sencillez, Telnet puede presentar errores.

  • Connection Refused: El puerto de destino está cerrado o bloqueado por un cortafuegos.

  • Time-Out Errors: Retraso de red o problema de enrutamiento.

  • Permission Denied: Falta de privilegios o puerto reservado.

Revisar regularmente las configuraciones del servidor y del cortafuegos ayuda a evitar estos problemas.

Alternativas a Telnet

Si la falta de cifrado de Telnet representa un riesgo de seguridad, existen varias alternativas más seguras:

  • SSH (Secure Shell): la alternativa más común, con cifrado y autenticación segura.
     → Usa el comando ssh para conectarte de forma segura a servidores remotos.
  • Netcat (nc): potente herramienta para depuración, escaneo de puertos y pruebas de conectividad (TCP/UDP).
  • OpenSSL s_client: permite probar conexiones SSL/TLS de forma segura en puertos específicos.

Conclusión

Telnet es una herramienta simple pero poderosa para diagnosticar y depurar redes en Linux. Mientras seas consciente de sus limitaciones de seguridad, sigue siendo una opción útil para probar servicios y analizar conexiones.

Con esta guía, podrás instalar, configurar y utilizar Telnet de forma eficaz y segura para administrar tus sistemas Linux de manera remota y profesional.

Sistema Linux
13.10.2025
Reading time: 6 min

Similares

Linux

Cómo copiar archivos a través de SSH

El protocolo SSH (Secure Shell) es un protocolo de red para la gestión remota de sistemas operativos mediante línea de comandos. Es ampliamente considerado el estándar para el acceso remoto a máquinas *nix. Permite iniciar sesión de forma segura en un servidor, ejecutar comandos de forma remota, gestionar archivos (crear, eliminar, copiar, etc.) y mucho más. La mayoría de los proveedores de nube y alojamiento requieren SSH para acceder a sus servicios. En este artículo veremos cómo copiar archivos a través de SSH en sistemas Windows y Linux. Cómo funciona SSH SSH puede transmitir de forma segura cualquier tipo de datos (audio, vídeo, datos de protocolos de aplicación) a través de un canal de comunicación cifrado. A diferencia de protocolos obsoletos e inseguros como Telnet y rlogin, SSH garantiza la confidencialidad y la autenticidad de los datos — fundamentales para la comunicación en Internet. Así es como se establece una conexión segura entre cliente y servidor: Establecimiento de conexión TCP: Por defecto, el servidor escucha en el puerto 22. Ambas partes comparten una lista de algoritmos compatibles (compresión, cifrado, intercambio de claves) y acuerdan cuáles utilizar. Autenticación: Para evitar la suplantación de identidad, ambas partes verifican sus identidades utilizando cifrado asimétrico (pares de claves pública/privada). Primero se autentica el servidor. En la primera conexión, el cliente muestra una advertencia con los detalles del servidor. Las claves de servidores de confianza se almacenan en /home/<username>/.ssh/known_hosts. Generación de clave: Una vez verificado el servidor, ambas partes generan una clave simétrica para cifrar todos los datos intercambiados. Autenticación del usuario: Se realiza mediante contraseña o una clave pública enviada por el cliente, almacenada en el servidor en /home/<username>/.ssh/authorized_keys. La implementación más popular en Linux es OpenSSH, que viene preinstalada en la mayoría de las distribuciones (Ubuntu, Debian, RHEL, etc.). En Windows se utilizan clientes como PuTTY o MobaXterm. Desde Windows 10 y Server 2019, las herramientas OpenSSH también están disponibles de forma nativa. Copiar archivos a través de SSH Dos utilidades principales para copiar archivos en Linux son scp y sftp. Ambas vienen con OpenSSH. SSH admite dos versiones de protocolo: 1 y 2. OpenSSH admite ambas, aunque la versión 1 se utiliza rara vez. Configurar autocompletado Para activar el autocompletado con la tecla Tab al usar scp, configura la autenticación por clave pública: Generar un par de claves: ssh-keygen Salida esperada: Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Por defecto, las claves (id_rsa para privada y id_rsa.pub para pública) se guardan en ~/.ssh/. Copiar la clave pública al servidor remoto: ssh-copy-id [username]@[ip-address] Copiar la clave pública al servidor remoto: Secure Copy (SCP) Para transferencias pequeñas (por ejemplo, configuraciones de servicios), scp es ideal. Copiar de local a remoto: scp test.txt user@192.168.1.29:/home/user/ Copiar múltiples archivos: scp test1.txt test2.txt user@192.168.1.29:/home/user/ Copiar múltiples archivos: scp user@192.168.1.29:/home/user/test.txt ~/ Copiar directorios: scp -r testdir user@192.168.1.29:/home/user/ Copiar de remoto a remoto: scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/ Secure FTP (SFTP) SFTP es otra utilidad incluida en OpenSSH. Desde OpenSSH 9.0, scp utiliza SFTP por defecto en lugar del antiguo protocolo SCP/RCP. A diferencia de FTP clásico, sftp transmite datos cifrados a través de un túnel seguro. No requiere un servidor FTP separado. Ejemplo de uso: sftp misato@192.168.1.29 sftp> ls sftp> lcd testdir/ sftp> get test.txt sftp> bye Gestores de archivos gráficos como Midnight Commander y Nautilus también usan sftp. En Nautilus, el servidor remoto aparece como una carpeta local, por ejemplo user@ip. Copiar archivos a través de SSH en Windows En Windows, se utiliza la herramienta de línea de comandos pscp de PuTTY para copiar archivos. Copiar al servidor: pscp C:\server\test.txt misato@192.168.1.29:/home/misato/ Copiar desde el servidor: pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt Listar archivos en el servidor remoto: pscp -ls user@192.168.1.29:/home/misato Usar comillas para rutas con espacios: pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/ Ver ayuda: pscp Conclusión Hemos visto cómo copiar archivos desde y hacia un servidor usando el protocolo seguro SSH. Si trabajas con servidores en la nube, entender SSH es esencial: es el método estándar para el acceso remoto a máquinas *nix y una parte fundamental del trabajo diario en DevOps y administración de sistemas.
10 October 2025 · 5 min to read
Linux

Cómo abrir puertos y listar puertos abiertos en Linux

Al trabajar con redes en Linux, puede ser necesario abrir o cerrar un puerto de red. La gestión de puertos es esencial para la seguridad: cuantos menos puertos abiertos tenga un sistema, menos vectores de ataque potenciales existen. Además, si un puerto está cerrado, un atacante no puede recopilar información sobre el servicio que se ejecuta en ese puerto específico. Esta guía explica cómo abrir o cerrar puertos y cómo comprobar los puertos abiertos en distribuciones de Linux como Ubuntu/Debian y CentOS/RHEL utilizando cortafuegos como ufw, firewalld e iptables. Demostraremos este proceso en dos distribuciones Linux: Ubuntu 22.04 y CentOS 9, ejecutadas en un VPS de Hostman. Todos los comandos proporcionados aquí funcionarán en cualquier distribución basada en Debian o RHEL. ¿Qué es un puerto de red? Los puertos se utilizan para acceder a aplicaciones y protocolos específicos. Por ejemplo, un servidor puede alojar tanto un servidor web como una base de datos — los puertos dirigen el tráfico al servicio adecuado. Técnicamente, un puerto de red es un número entero no negativo que va de 0 a 65535. Puertos reservados (0–1023): utilizados por protocolos y servicios de red populares como SSH (puerto 22), FTP (puerto 21), HTTP (puerto 80) y HTTPS (puerto 443). Puertos registrados (1024–49151): pueden ser utilizados por aplicaciones específicas para comunicarse. Puertos dinámicos (49152–65535): se usan para conexiones temporales y pueden asignarse dinámicamente a aplicaciones. Cómo abrir puertos en distribuciones basadas en Debian En sistemas basados en Debian (Ubuntu, Debian, Linux Mint, etc.), puedes usar ufw (Uncomplicated Firewall). ufw viene preinstalado en la mayoría de las distribuciones basadas en APT. Para verificar si está instalado: ufw version Si se muestra una versión, ufw está instalado. De lo contrario, instálalo con: apt update && apt -y install ufw Por defecto, ufw está inactivo, lo que significa que todos los puertos están abiertos. Puedes verificar su estado con: ufw status Para activarlo: ufw enable Deberás confirmar con y. Ten en cuenta que habilitar ufw puede interrumpir las conexiones SSH actuales. Por defecto, ufw bloquea todo el tráfico entrante y permite todo el tráfico saliente. Para comprobar la política por defecto: cat /etc/default/ufw Abrir puertos con ufw Para abrir un puerto: ufw allow <port_number> Ejemplo — abrir el puerto 22 para SSH: ufw allow 22 Puedes abrir varios puertos separándolos con comas y especificando el protocolo (tcp o udp): ufw allow 80,443,8081,8443/tcpufw allow 80,443,8081,8443/udp En lugar de números de puerto, puedes usar el nombre del servicio (definido en /etc/services). Ejemplo — abrir Telnet (puerto 23): ufw allow telnet Nota: No puedes especificar varios nombres de servicios a la vez; ufw devolverá un error: Para abrir un rango de puertos: ufw allow <start_port>:<end_port>/<protocol> Ejemplo: ufw allow 8000:8080/tcp Cerrar puertos con ufw Para cerrar un puerto: ufw deny <port_number> Ejemplo — cerrar el puerto 80: ufw deny 80 También puedes usar el nombre del servicio. Ejemplo — cerrar FTP (puerto 21): ufw deny ftp Ver puertos abiertos con ufw Para listar todos los puertos abiertos y cerrados: ufw status O para una vista más detallada: ufw status verbose Cómo abrir un puerto en distribuciones basadas en RHEL Las distribuciones basadas en RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) usan firewalld por defecto. Abrir puertos con firewalld Verifica si firewalld está instalado: firewall-offline-cmd -V Si se muestra una versión, firewalld está instalado. Si no, instálalo: dnf install firewalld Por defecto, firewalld está deshabilitado. Verifica su estado: firewall-cmd --state Para habilitarlo: systemctl start firewalld Abrir el puerto 8080 para TCP: firewall-cmd --zone=public --add-port=8080/tcp --permanent --zone=public: especifica la zona de la regla. --add-port=8080/tcp: especifica el puerto y el protocolo. --permanent: guarda la regla de forma permanente. También puedes abrir un servicio utilizando su nombre, por ejemplo HTTP (puerto 80): firewall-cmd --zone=public --add-service=http --permanent Aplicar los cambios: firewall-cmd --reload Cerrar puertos con firewalld Para cerrar un puerto por número: firewall-cmd --zone=public --remove-port=8080/tcp --permanent O por nombre del servicio: firewall-cmd --zone=public --remove-service=http --permanent Recarga siempre después de los cambios: firewall-cmd --reload Listar puertos abiertos con firewalld Para listar todos los puertos abiertos: firewall-cmd --list-ports Gestionar puertos con iptables A diferencia de ufw y firewalld, iptables viene preinstalado en muchas distribuciones (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux). Abrir puertos con iptables Para abrir el puerto 8182 para conexiones entrantes: iptables -A INPUT -p tcp --dport 8182 -j ACCEPT -A INPUT: agrega una regla a la cadena INPUT. -p tcp: especifica el protocolo. --dport 8182: especifica el puerto a abrir. -j ACCEPT: permite el tráfico a través del puerto. Para conexiones salientes: iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPT Para abrir un rango de puertos: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPT Cerrar puertos con iptables Para cerrar un puerto: iptables -A INPUT -p tcp --dport 8182 -j DROP Cerrar un rango de puertos: iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROP Guardar reglas de iptables Por defecto, las reglas de iptables solo son efectivas hasta que se reinicie el servidor. Para guardarlas permanentemente, instala iptables-persistent: Para sistemas basados en APT: apt update && apt -y install iptables-persistent Para sistemas basados en DNF: dnf -y install iptables-persistent Guardar las reglas actuales: iptables-save Las reglas se recargarán automáticamente tras el siguiente reinicio. Ver puertos abiertos con iptables Listar todas las reglas y puertos abiertos: iptables -L -v -n Listar solo reglas IPv4: iptables -S Listar reglas IPv6: ip6tables -S Conclusión En esta guía hemos mostrado cómo abrir y cerrar puertos de red en Linux y cómo comprobar los puertos abiertos actualmente utilizando tres herramientas diferentes: ufw, firewalld e iptables. Una gestión adecuada de los puertos reduce el riesgo de posibles ataques a la red y ayuda a ocultar información sobre los servicios que utilizan esos puertos.
10 October 2025 · 6 min to read
Sistema Linux

Cómo montar una compartición SMB en Linux

El protocolo Server Message Block (SMB) facilita el intercambio de archivos en red, permitiendo que las aplicaciones lean, escriban archivos y soliciten servicios a programas del servidor. Este protocolo es clave para una comunicación fluida entre distintos dispositivos de una red, especialmente en entornos mixtos como Windows y Linux. Montar una compartición SMB en Linux permite a los usuarios acceder a archivos en un servidor Windows u otro dispositivo con SMB directamente desde su sistema Linux. Este tutorial te guía paso a paso para montar una compartición SMB en Linux, garantizando un uso compartido de archivos y comunicación en red sin problemas. Requisitos previos para montar comparticiones SMB Antes de montar una compartición SMB, asegúrate de cumplir con los siguientes requisitos: Un sistema Linux, como un servidor en la nube económico de Hostman, con privilegios de root o sudo. El paquete cifs-utils instalado en tu sistema Linux. Credenciales de acceso (nombre de usuario y contraseña) para la compartición SMB. Conectividad de red entre tu sistema Linux y el servidor SMB. Instalar los paquetes necesarios El paquete cifs-utils es esencial para montar comparticiones SMB en Linux. Además, el paquete psmisc proporciona el comando fuser, útil para gestionar y monitorear el uso de archivos. Actualizar la lista de paquetes y el sistema Primero, actualiza la lista de paquetes y mejora tu sistema: sudo apt update Instalar cifs-utils y psmisc Instala los paquetes necesarios: sudo apt install cifs-utils psmisc Verificar la instalación Verifica la instalación de cifs-utils y la disponibilidad del comando fuser: mount -t cifsfuser Encontrar los detalles de la compartición SMB Identifica los detalles de la compartición SMB, incluyendo el nombre del servidor o la dirección IP y el nombre de la carpeta compartida. Puede que necesites consultar con tu administrador de red o revisar la configuración del servidor. Ejemplo: Servidor: servidor-smb.ejemplo.com Carpeta SMB-Freigabe: carpetacompartida Montar comparticiones SMB usando el comando mount Para montar la compartición SMB, usa el comando mount con la opción -t cifs, especificando el protocolo SMB. Crear un directorio como punto de montaje: sudo mkdir /mnt/comparticion_smb Montar la compartición SMB con el siguiente comando: sudo mount -t cifs -o username=tu_usuario,password=tu_contraseña //192.0.2.17/SharedFiles /mnt/comparticion_smb Reemplaza tu_usuario y tu_contraseña con tus credenciales reales. Asegúrate de que /mnt/comparticion_smb exista. Verificar el montaje Para confirmar que la compartición SMB se ha montado correctamente, usa: mount -t cifs Navega al punto de montaje y lista los archivos: cd /mnt/comparticion_smbls Crear un archivo de credenciales Para evitar ingresar credenciales cada vez, crea un archivo de credenciales. Este archivo debe estar oculto y seguro. Crear el archivo: nano ~/.smbcredentials Agregar el contenido (sustituyendo por tus datos reales): username=tu_usuariopassword=tu_contraseña Establecer los permisos adecuados: sudo chown tu_usuario: ~/.smbcredentialssudo chmod 600 ~/.smbcredentials Montar usando el archivo de credenciales sudo mount -t cifs -o credentials=~/.smbcredentials //192.168.2.12/SharedFiles /mnt/comparticion_smb Automatizar el montaje de comparticiones SMB Para automatizar el montaje, añade una entrada en el archivo /etc/fstab. Esto asegurará que la compartición SMB se monte al iniciar el sistema. 1. Abre /etc/fstab para editarlo: sudo nano /etc/fstab 2. Añade la siguiente línea: //servidor-smb.ejemplo.com/carpetacompartida /mnt/comparticion_smb cifs username=tu_usuario,password=tu_contraseña,iocharset=utf8,sec=ntlm 0 0 3. Guarda y cierra el archivo. 4. Prueba la entrada de fstab: sudo mount -a Asegúrate de que no aparezcan errores. Solución de problemas comunes Permiso denegado Verifica tus credenciales y los permisos en el servidor SMB. No existe el archivo o directorio Confirma que la IP del servidor, la ruta compartida y el punto de montaje sean correctos. Error de montaje 13 = Permiso denegado Revisa que el nombre de usuario y la contraseña sean correctos. Error de montaje 112 = El host no responde Verifica la conectividad de red y la disponibilidad del servidor. Desmontar una compartición SMB Para desmontar la compartición SMB, utiliza el comando umount seguido del punto de montaje: sudo umount /mnt/comparticion_smb Conclusión Montar una compartición SMB en Linux es un proceso sencillo que mejora la capacidad de compartir archivos entre sistemas operativos distintos. Siguiendo esta guía, podrás configurar y solucionar problemas de montaje de SMB de forma eficiente, facilitando así la comunicación en red y el acceso a archivos. ¡No olvides revisar cómo configurar una imagen de servidor en Linux! Preguntas frecuentes ¿Qué es Samba en Linux y cómo se relaciona con SMB? Samba es una implementación de código abierto del protocolo SMB/CIFS en Linux. Permite que los sistemas Linux compartan archivos e impresoras con dispositivos Windows a través de la red. ¿Cuál es el comando para montar una carpeta compartida de Windows en Linux? Usa mount -t cifs //servidor/carpeta /mnt/punto_montaje -o username=tu_usuario. ¿Cómo puedo montar automáticamente una compartición SMB al iniciar Linux? Agrega la configuración del montaje en /etc/fstab con las credenciales adecuadas. ¿Necesito acceso root para montar una compartición SMB? Para el montaje tradicional, sí. Pero también existen herramientas en espacio de usuario como gio mount que pueden usarse sin permisos de root.
16 July 2025 · 5 min to read

¿Tienes preguntas,
comentarios o inquietudes?

Nuestros profesionales están disponibles para asistirte en cualquier momento,
ya sea que necesites ayuda o no sepas por dónde empezar.
Hostman's Support