Líneas y protección con contraseñas - Troubleshooting
Método general (de lo mínimo a lo complejo)
- ¿Qué línea es? Consola, VTY o AUX — cada una tiene su propia configuración.
- ¿Qué método de login pide?
login(contraseña de línea) vslogin local(usuario). - ¿Existe la contraseña/usuario que ese método necesita?
- ¿El transporte permite el protocolo con el que intentas entrar (SSH/Telnet)?
- ¿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 rsaylogin 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 passwordyenable 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 usarsecretcon 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 deservice password-encryption.