Hola que tal, en esta ocasión se muestra
una conexión SSH desde macOS, pero por configuración el servicio que tiene por
defecto en las sesiones de ssh como cliente, no soporta métodos de encriptación
que tengan una seguridad baja.
El siguiente ejemplo muestra una conexión desde un cliente terminal de macbook a
un Access Point Cisco con el comando:
ssh -l <usuario> <dirección IP>
ó
ssh <usuario>@<direccion IP>
En el caso del access point la dirección IP que tiene es 192.168.0.253 y esta creado el usuario “pavel” para este escenario. Por lo que el comando que usaremos será el siguiente:
ssh -l pavel 192.168.0.253
Pero aparece el siguiente error y no permite la conexión.
Analizando el output se puede observar que la negociación no está habilitada entre la terminal de macbook y el Access point, debido a que el intercambio de llaves no coincide, entonces existen dos opciones, actualizar la configuración de SSH en el access point, para soportar las llaves que utiliza la macbook, que hasta este momento no se sabe cuáles son. O se puede utilizar las llavez que aparecen en el error. por ejemplo:
Según el mensaje que arroja al intentar la conexión, el access point es compatible con:
Diffie-hellman-group-exchange-sha1
Diffie-hellman-group14-sha1
Diffie-hellman-group1-sha1
Buscando un poco en la red, me encontré con esta línea de comando que se puede utilizar para definir en la terminal cual llave queremos utilizar para establecer la sesión de SSH.
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 pavel@192.168.0.253
Después de poner este comando en la terminal aparece otro mensaje diferente al anterior
Ahora volviendo a analizar el output, indica que tampoco coincide el método de cifrado, y se aprecia que el access point soporta los métodos:
aes128-cdc
3des-cdc
aes192-cdc
aes256-cdc
Por lo que ahora se debe definir que metodo de cifrado se quiere utilizar para establecer la sesión con el dispositivo remoto.
Si se teclea en la terminal “ssh –help” , brinda la ayuda rápida de las opciones que soporta el comando ssh en esta terminal.
La opción de “-c” es para especificar el cifrado que vamos a utilizar.
Entonces se procede a completar el comando anterior con la opción “-c aes128-cbc” que es uno de los cifrados que utiliza el access point.
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc pavel@192.168.0.253
Después de eso la terminal se conecta exitosamente al access point.
Entonces, de esta manera desde la misma terminal y sin modificar la configuración del archivo “ssh_config” nos vamos a poder conectar a los diferentes dispositivos por SSH que no soporten el mismo intercambio de llaves declarado por default en macbook y tampoco el mismo cifrado.
Yo creo que eso sería todo, bye!