Telnet es un protocolo que no utiliza cifrado, donde todo lo que pasa por él se muestra en texto plano, por cuestiones de seguridad es recomendable el protocolo SSH (Secure Shell) ya que proporciona una conexión de acceso remoto segura para los dispositivos de red.
La comunicación entre el cliente y el servidor está cifrada en las versiones 1 y 2 de SSH, la recomendación es utilizar la versión 2 de este protocolo siempre y cuando el equipo lo permita ya que usa un algoritmo de cifrado con una seguridad mas robusta.
Con los pasos siguientes vamos a configurar el acceso vía SSH para un router Cisco IOS.
1.- Configurar el usuario para realizar las concexiones al equipos con SSH
R1(config)# username <user> privilege 15 password <password>
Donde:
<user> es el nombre que se asignará al usuario para las conexiones remotas por SSH
<password> aquí se especifica la contraseña con la que va a iniciar sesión el usuario.
2.- Configurar el nombre de dominio
R1(config)#ip domain-name <DomainName>
Donde:
<DomainName> se asigna un nombre de dominio para la conexiones SSH, algo similar a cisco.com o jmcristobal.com.
3.- Generar la llave pública o clave para utilizar con SSSH
R1(config)#crypto key generate rsa
...
...
...
How many bits in the modulus [512]: <BitsKeyRSA>
Donde:
crypto key generate rsa indica que vamos a generar un clave con el algoritmo de seguridad RSA (Sistema criptográfico de llave pública).
<BitsKeyRSA> es la logitud en bits de la clave RSA, el valor puede ser de 360 a 2048 bits.
4.- Configurar la version 1 o 2 de SSH
R1(config)#ip ssh version <1 or 2>
5.- Otras configuraciones SSH
R1(config)#ip ssh authentication-retries <Number_Attemps>
R1(config)#ip ssh time-out <Seconds>
Donde:
<Number_Attemps> es el número de intentos fallidos o reintentos que tiene el usuario para iniciar sesión en el equipo, si este valor se cumple el inicio de sesión se termina.
<Seconds> Valor que indica el tiempo de espera en segundos que el dispositivo mantendra activo el inicio de sesión vía SSH, si este valor se cumple la conexión termina.
6.- Configurar líneas VTY
R1(config)#line vty <VTY range>
R1(config-line)#transport input ssh
R1(config-line)#login local
Donde:
<VTY range> es el número de las líneas VTY que se van a configurar.
‘transport input ssh’ esta línea indica que las sesiones VTY serán a través del protocolo SSH, otros valores que puede aceptar este líena es telnet o all.
Ejemplo:
R1(config)#username admin privilege 15 password jmcristobal
R1(config)#ip domain-name jmcristobal.com
R1(config)#crypto key generate rsa //Generar la clave con el lagoritmo RSA
The name for the keys will be: R1.jmcristobal.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024 //Longitud en bits de la clave, puede ser hasta 2048, recomendable 1024.
% Generating 1024 bit RSA keys, keys will be non-exportable…[OK]
R1(config)#ip ssh version 2
R1(config)#ip ssh authentication-retries 2 // Número de reintentos fallidos para el inicio de sesión, con el número 2 se tendrán tres oportunidades para loguearse, al cumplirse este valor se termina la conexión
R1(config)#ip ssh time-out 30 //Tiempo de espera para el inicio de sesión
R1(config)#line vty 0 15
R1(config-line)#transport input ssh //Indicar a las líneas VTY que sólo se permitira por SSH
R1(config-line)#login local
Para terminar podemos conectarnos a nuestro dispostivo con un cliente para SSH como PuTTY o desde un equipos cisco con la siguiente línea por ejemplo:
ssh -l <user> -v <version-number> <IP_address>
Donde:
<user> corresponde al nombre de usuario configurado
<version-number> es el número de versión del protocolo SSH
<IP_address> es la dirección IP a la cual vamos a intentar conectarnos
Acceder desde un equipo con IOS:
R1# ssh -l admin -v 2 10.1.1.134