Líneas y protección con contraseñas - Troubleshooting

Método general (de lo mínimo a lo complejo)

  1. ¿Qué línea es? Consola, VTY o AUX — cada una tiene su propia configuración.
  2. ¿Qué método de login pide? login (contraseña de línea) vs login local (usuario).
  3. ¿Existe la contraseña/usuario que ese método necesita?
  4. ¿El transporte permite el protocolo con el que intentas entrar (SSH/Telnet)?
  5. ¿El enable te deja pasar a modo privilegiado?

Comando base:

Router# show running-config | section line
Router# show users

Caso 1 — La VTY rechaza el acceso (“password required, but none set”)

Síntoma: al hacer Telnet/SSH aparece Password required, but none set y se cierra.

Causa: la línea tiene login pero no tiene password, o tiene login local sin ningún username creado.

Diagnóstico:

Router# show running-config | section line vty
Router# show running-config | include username

Solución: definir la contraseña de línea (para login) o crear un usuario (para login local).

Router(config)# line vty 0 4
Router(config-line)# login local
Router(config)# username admin algorithm-type scrypt secret Adm1n!2024

Caso 2 — SSH no conecta pero Telnet sí (o viceversa)

Síntoma: un protocolo entra y el otro no.

Causa: transport input limita los protocolos aceptados por la VTY.

Diagnóstico:

Router# show running-config | section line vty     ! revisar transport input

Solución: ajustar el transporte permitido.

Router(config)# line vty 0 4
Router(config-line)# transport input ssh          ! solo SSH

Recuerda: SSH además requiere hostname, ip domain-name, crypto key generate rsa y login local — ver SSH y Acceso remoto - Configuración.


Caso 3 — Solo se protegieron algunas VTY

Síntoma: a veces pide contraseña y a veces no, según el intento.

Causa: se configuró line vty 0 4 pero el dispositivo tiene más líneas (por ejemplo 0 15) y las 5-15 quedaron sin proteger.

Diagnóstico:

Router# show line                                  ! cuántas VTY hay
Router# show running-config | section line vty

Solución: proteger todas las VTY.

Router(config)# line vty 0 15
Router(config-line)# login local
Router(config-line)# transport input ssh

Caso 4 — No puedo entrar a modo privilegiado

Síntoma: enable no acepta la contraseña.

Causas:

  • Coexisten enable password y enable secret: manda el secret.
  • Se olvidó la contraseña del secret.

Diagnóstico:

Router# show running-config | include enable

Solución: reconfigurar el enable secret (si tienes acceso). Si perdiste el acceso por completo, es recuperación de contraseña (ver Gestión de IOS - Configuración, config-register 0x2142).

Router(config)# enable algorithm-type scrypt secret NuevoEnable

Caso 5 — Las contraseñas se ven en texto plano en el config

Síntoma: show running-config muestra contraseñas legibles.

Causa: falta service password-encryption, o son contraseñas de tipo password (no secret).

Solución: activar el cifrado y migrar a secret donde se pueda.

Router(config)# service password-encryption
Router(config)# enable algorithm-type scrypt secret MiEnable

Nota: service password-encryption (type 7) es cifrado débil y reversible. Es una capa mínima; la protección real viene de usar secret con hash (type 8/9).


Caso 6 — Me expulsa la sesión demasiado rápido (o nunca)

Síntoma: la sesión se cierra sola muy pronto, o queda abierta indefinidamente.

Causa: exec-timeout mal ajustado.

Diagnóstico:

Router# show running-config | section line

Solución: ajustar el tiempo (minutos segundos). 0 0 = nunca expira (inseguro).

Router(config)# line vty 0 4
Router(config-line)# exec-timeout 10 0

Caso 7 — Quedaron servicios innecesarios activos

Síntoma: auditoría marca DNS/HTTP/CDP/LLDP habilitados donde no se necesitan.

Diagnóstico:

Router# show ip http server status
Router# show cdp
Router# show running-config | include ip domain-lookup|ip http|cdp run|lldp run

Solución: deshabilitar lo que no se use.

Router(config)# no ip domain-lookup
Router(config)# no ip http server
Router(config)# no ip http secure-server
Router(config)# no cdp run
Router(config)# no lldp run

Recuerda el orden: identifica la línea, revisa su método de login, confirma que exista la contraseña o el usuario que ese método necesita, ajusta el transporte, y verifica el enable secret. Para el cifrado usa secret (hash) por encima de service password-encryption.