Configurar ssh en dispositivos Cisco

En este post vamos a configurar SSH en un switch Cisco. El método también sirve para cualquier dispositivo basado en IOS, esto es routers etc.

Aunque en los switches Cisco, si tenemos activo el acceso https, algo que no recomiendo y que viene por defecto activado en las IOS gestionables por web, ya dispondremos de los certificados y requisitos para directamente habilitar ssh versión 2, prefiero definir paso por paso el procedimiento que considero más recomendable y seguro.

Además aplicaremos configuraciones que permitiran asegurar la configuración y el acceso al dispositivo.

Partimos de un switch con una configuración por defecto.

  • Requisitos para crear la clave rsa:

hostname y dominio

  • Configuramos el hostname, el dominio y desactivamos la resolución dns:

Switch#conf t
Switch(config)#hostname switch-2 
switch-2(config)#ip domain-name capa3.es
switch-2(config)#no ip domain-lookup
  • Generamos la clave rsa de 2048 bits:

switch-2(config)#crypto key generate rsa 
The name for the keys will be: switch-2.capa3.es
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 14 seconds)
  • Activamos ssh versión 2 y desactivamos el acceso http y https:

switch-2(config)#ip ssh version 2
switch-2(config)#no ip http server
switch-2(config)#no ip http secure-server 
  • Añadimos los usuarios, en este caso un usuario del privilege-level más alto y creamos el enable secret:

switch-2(config)#username xavi privilege 15 secret capa3.es
switch-2(config)#enable secret capa3.es

No usamos “password” porque es reversible, incluso con el service-passsword-encryption activado. Usando “secret” por defecto configura un hash md5.

  • Definimos las access-list que continenen los hosts o redes permitidas para acceder por ssh:

switch-2(config)#access-list 99 permit 192.168.5.0 0.0.0.255
switch-2(config)#access-list 99 permit 192.168.199.0 0.0.0.255
  • Configuramos las 16 terminales virtuales:

Para acceder usaremos los usuarios locales, respetando su privilege-level (no necesitarán enable si son privilege-level 15), aplicamos el filtro de la acl anterior y permitimos únicamente el acceso ssh, telnet no estará disponible:

switch-2(config)#line vty 0 15
switch-2(config-line)#login local 
switch-2(config-line)#access-class 99 in 
switch-2(config-line)#transport input ssh 
switch-2(config-line)#end

Si verificamos con show run la configuración del usuario, veremos que se ha aplicado el hash md5:

switch-2#sh run | include username
username xavi privilege 15 secret 5 $1$hAuR$vV67lx.4sZWAwUtX7qxwM/
  • Opcional:

Si el dispositivo dispone de diferentes interfaces con ip, además de las access-lists podemos limitar en que interfaz va a escuchar ssh:
En este ejemplo escuchará en la vlan 40 únicamente:

switch-2(config)# ip ssh source-interface vlan 40
  • Nota:

Si no hubiéramos configurado el dominio, nos habría salido el siguiente error:

Switch(config)#crypto key generate rsa 
% Please define a domain-name first.

Leave a Reply

Your email address will not be published. Required fields are marked *