telnet: command not found en Mac? Cómo usar Telnet en macOS

Apple quitó el comando telnet en macOS High Sierra, así que zsh: command not found: telnet es normal. Para comprobar si un puerto está abierto, usa nc -vz host puerto, que ya viene incluido. Para una sesión Telnet real con un switch o un router, instálalo con brew install telnet.

Actualizada el . Ejecutado en macOS 27: telnet no está en /usr/bin, nc -vz probado contra un puerto local a la escucha y uno cerrado, brew info telnet y brew info inetutils comprobados (telnet 308, inetutils 2.8).

Por qué falta telnet

zsh: command not found: telnet

Apple quitó telnet, junto con ftp, en macOS High Sierra (10.13). No hay nada roto en tu Mac ni un ajuste para recuperarlo. Tienes dos opciones, y la buena depende de para qué lo querías.

  • Comprobar si un puerto está abierto, para un servidor web, de correo o SSH: usa nc, que ya está en el Mac.
  • Entrar en un equipo que habla Telnet, como un switch, un router o un servidor de consolas: instala el cliente Telnet.

Probar un puerto con nc

Mucha gente escribe telnet host 443 solo para ver si un puerto responde. nc lo hace mejor, porque lo dice con claridad y termina:

nc -vz example.com 443
Connection to example.com port 443 [tcp/https] succeeded!

Un puerto cerrado da Connection refused, y uno bloqueado por un cortafuegos no responde hasta que se agota el tiempo. Añade -G 5 para rendirte a los 5 segundos. Los dos casos tienen su guía: connection refused y connection timed out.

Para escribir en un protocolo de texto, como SMTP en el puerto 25, quita -z. -c envía CR y LF al final de cada línea, como esperan muchos servidores:

nc -c mail.example.com 25

Para un equipo que negocia opciones Telnet, añade -t para que nc las responda. Sirve para un vistazo rápido, pero un cliente de verdad gestiona bien el eco y el tamaño del terminal.

Instalar telnet con Homebrew

Con Homebrew instalado:

brew install telnet

Es el cliente que Apple incluía antes. El paquete inetutils también contiene un telnet, pero choca con este, así que elige solo uno. Después conecta con la dirección y, si no es el 23, el puerto:

telnet 192.0.2.10 23
Trying 192.0.2.10...
Connected to 192.0.2.10.
Escape character is '^]'.

Para salir, pulsa Ctrl-], escribe quit y pulsa Intro. Ctrl-C no suele funcionar, porque se envía al equipo.

Cuándo sigue haciendo falta Telnet

Telnet envía todo en texto plano, contraseñas incluidas. Cualquiera en el camino de red puede leerlo. Aun así tiene usos reales:

  • Switches, routers, impresoras y PDU sin SSH, o con SSH desactivado de fábrica.
  • Servidores de consolas que exponen cada puerto serie como un puerto Telnet, por ejemplo 2001, 2002 y así sucesivamente.
  • Equipos de laboratorio, simuladores de red y sistemas industriales antiguos.
  • Servicios de texto como las BBS y los juegos MUD.

Úsalo en una red de confianza, como una VLAN de gestión o un cable directo, y nunca a través de internet.

Pasar un equipo de Telnet a SSH

Si el equipo admite SSH, actívalo y apaga Telnet. En Cisco IOS, por ejemplo, después de crear un usuario local:

configure terminal
ip domain-name example.com
crypto key generate rsa modulus 2048
ip ssh version 2
line vty 0 4
 login local
 transport input ssh
end
write memory

Prueba SSH desde una segunda ventana antes de cerrar la sesión Telnet. Para máquinas Linux que aún tienen un servidor Telnet, mira cómo activar SSH en Ubuntu y después elimina el paquete del servidor telnet.

Problemas habituales

  • Connection refused. El equipo no acepta Telnet en ese puerto. Puede estar apagado o permitido solo desde una red de gestión.
  • Conectado, y luego nada. Pulsa Intro. Algunos equipos muestran el login solo tras pulsar una tecla.
  • Caracteres raros o menús rotos. El equipo usa otro juego de caracteres, como ISO-8859-1, o espera otro tipo de terminal. Mira unknown terminal type.
  • Retroceso escribe ^?. El equipo espera Ctrl-H para borrar. Pulsa Ctrl-H en su lugar, o configura la tecla de borrado en el equipo.

Preguntas

¿Por qué no está telnet en mi Mac?

Apple quitó telnet y ftp de macOS a partir de High Sierra (10.13), en 2017, porque los dos transmiten todo sin cifrar. El comando no está oculto: ya no existe.

¿Cómo instalo telnet en Mac?

Instala Homebrew y ejecuta brew install telnet. El paquete inetutils también trae un comando telnet, pero los dos chocan, así que instala solo uno.

¿Qué uso en lugar de telnet para probar un puerto en Mac?

nc, que viene incluido. nc -vz example.com 443 muestra succeeded si el puerto acepta conexiones y Connection refused si no hay nada escuchando.

¿Cómo salgo de telnet?

Pulsa Ctrl-], que es el carácter de escape, luego escribe quit y pulsa Intro.

Fuentes

Más en SSH en cada sistema

Todas las guías