Cómo habilitar el acceso SSH a un router/switch Cisco (o compatible). Cómo añadir un nuevo usuario y contraseña y cómo deshabilitar el acceso por Telnet, que es totalmente inseguro.

Requisitos para habilitar el acceso SSH a un switch/router Cisco

En primer lugar necesitaremos, al menos, acceso por Telnet (o bien remoto o bien conectando un cable al puerto de consola) y necesitaremos contraseña de acceso a la gestión del swtich/router.

Por otro lado, asumimos que el swtich ya tiene establecida una dirección IP de gestión, que será la que usemos para conectarnos al switch. En caso de no tenerla, habría que configurarla (normalmente en la VLAN 1), con los siguientes comandos:

enable
config t
interface vlan 1
ip address 192.168.10.100 255.255.255.0
no shutdown
ip default-gateway 192.168.10.1
ip name-server 1.1.1.3 8.8.8.8
end
wr

En este ejemplo hemos establecido, para la VLAN 1, la siguiente configuración de red:

  • IP: 192.168.10.100
  • Máscara de sudred: 255.255.255.0
  • Puerta de enlace: 192.168.10.1
  • Servidores DNS: 1.1.1.3 y 8.8.8.8.

Habilitar acceso SSH en router/switch Cisco

Accederemos a la consola de gestión del router/switch mediante Telnet, usando, por ejemplo, PuTTY. Accederemos al modo privilegiado escribiendo:

enable

Nos volverá a pedir contraseña para acceder a este modo desde la conexión Telnet, cuando tengamos el bash del tipo:

nombre_switch#

Con la almohadilla al final, indicará que estamos en el modo privilegiado. Ahora entraremos en la configuración global con el comando:

config t

Si no lo hemos hecho, estableceremos el nombre del swtich con:

hostname SW_ProyectoA

Donde «SW_ProyectoA» será el nombre que se asigne al switch.

Estableceremos un dominio con:

ip domain-name proyectoa.local

(Normalmente el dominio suele coincidir con el dominio Active Directory de nuestra organización, pero no es necesario)

A continuación introduciremos el siguiente comando, para indicar que no queremos establecer la configuración AAA (Authentication, Authorization, and Accounting)

no aaa new-model

Generaremos el par de claves público/privada con:

crypto key generate rsa

Si ya tenemos una clave generada nos preguntará si queremos reemplazarla. Si no introducimos el tamaño en el comando anterior nos lo preguntará. Por defecto establece un tamaño de 512.

Nota importante: si habilitamos el protocolo SSH versión 2 (es lo recomendable), el tamaño de la clave debe ser de al menos 768 bits.

Añadimos un usuario y contraseña (si no lo tenemos ya):

username ac_sw secret la_contraseña

Donde:

  • ac_sw: nombre del usuario que necesitaremos para la conexión SSH.
  • la_contraseña: contraseña del usuario anterior.
  • Con «secret» indicamos al switch que almacene el hash de la contraseña y NO la contraseña en plano. Si hubiésemos usado «password» en lugar de «secret», almacenará en la flash la contraseña en plano.

En caso de querer crear el usuario anterior con privilegios de administrador usaremos este comando:

username ac_sw privilege 15 secret la_contraseña

Establecemos más configuraciones del SSH, como el tiempo de espera máximo para introducir la contraseña (por defecto es de 120 segundos):

ip ssh time-out 60

El número de reintentos de introducir la contraseña permitidos:

ip ssh authentication-retries 3

Y, siempre que sea posible, forzaremos el uso de SSH versión 2, dado que la versión 1 tiene fallos de seguridad:

ip ssh version 2

Estableceremos 4 líneas VTY para la conexión SSH (de la 0 a la 3):

line vty 0 3

Habilitamos el SSH en estas líneas:

transport input ssh

Indicamos que se usen los usuarios locales del switch:

login local

salimos del modo de configuración:

end

Y guardamos los cambios con:

wr
Habilitar acceso SSH en router/switch Cisco

Comprobaremos que el servicio SSH está iniciado y escuchando, con el comando:

show ip ssh

Que nos devolverá algo así:

SSH Enabled – version 2.0
Authentication timeout: 60 secs; Authentication retries: 3

Probando el acceso SSH a un switch Cisco con PuTTY

Una vez habilitado el acceso por SSH, podremos probarlo abriendo un cliente SSH, por ejemplo PuTTY. Introduciremos la IP del switch, marcaremos «SSH» y conectaremos:

Probando el acceso SSH a un switch Cisco con PuTTY

Puede que nos muestre este mensaje, indicando que el algoritmo soportado por el switch podría ser inseguro (esto dependerá del modelo del switch y de la versión de la IOS). Responderemos «Sí»:

Probando el acceso SSH a un switch Cisco con PuTTY

Nos solicitará usuario y contraseña (el creado anteriormente para SSH) y accederemos al shell de gestión del switch. En el caso del acceso por SSH, iniciaremos sesión en modo privilegiado directamente, sin tener que introducir «enable».

Probando el acceso SSH a un switch Cisco con PuTTY

Deshabilitar el acceso por Telnet remoto en switch Cisco

Telnet es un protocolo inseguro porque la información viaja en plano (sin cifrar). Por ello, una vez que tengamos verificado y activado el acceso SSH, es recomendable deshabilitar el acceso por Telnet, al menos el acceso remoto.

En primer lugar accedemos al modo privilegiado con:

enable

Listaremos las líneas VTY que tenga el dispositivo, que son las que permiten el acceso al swtich a través de Telnet, con el comando:

show user all
Deshabilitar el acceso por Telnet remoto en switch Cisco

En el caso de nuestro swtich, un C3725, tiene 5 líneas VTY, de la 0 a la 4.

Para deshabilitar el acceso por Telnet en estas líneas entraremos en modo de configuración global con:

config t

Accederemos a la configuración de las VTY con:

line vty 0 4

Y estableceremos el tipo de protocolo de acceso a SSH, invalidando el acceso por Telnet:

transport input ssh

Saldremos del modo de configuración con:

end

Y guardaremos los cambios con:

wr

A partir de ahora ya no tendremos acceso por Telnet remoto al switch, pero sí por Telnet con cable conectado al puerto de consola físico del switch.

En caso de que quisiéramos desactivar también el acceso por Telnet usando el puerto de consola físico del switch (normalmente porque el swtich esté en un lugar accesible públicamente), podremos hacerlo con:

enable
config t
line con 0
transport input ssh
end
wr