Aunque parece sencillo conectar vía SSH con este magnífico laboratorio de sabiduría, no es fácil. Tras mucha pelea he conseguido la manera de conectarme y al mismo tiempo crear un alias en mi terminal de linux para acceder de forma más rápida a ese host.
Metasploitable2 usa un servidor SSH muy viejo, que solo ofrece algoritmos obsoletos (ssh-rsa con SHA-1 y ssh-dss). Las versiones modernas de OpenSSH (las que tienes en Kali, Ubuntu, Parrot, etc.) los deshabilitan por defecto, por eso falla.
sí intentamos un:
ssh msfadmin@192.168.1.155
nos tira el siguiente error
Unable to negotiate with 192.168.1.155 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Con el siguiente comando forzamos a tu cliente SSH a aceptar claves débiles antiguas (ssh-rsa) que el servidor Metasploitable2 todavía usa, para que la conexión no falle por “no matching host key type”.
ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa msfadmin@192.168.1.155
En pocas palabras, le decimos lo siguiente:
Oye SSH, ignora las restricciones modernas y conéctate a este servidor antiguo usando claves ssh-rsa.
CREAR UN ALIAS EN NUESTRO LINUX PARA CONECTAR MAS FACILMENTE
Ahora viene la segunda parte del ejercicio crear un alias en nuestro archivo de configuración de ssh. Para que las próximas veces solo tengamos que poner la contraseña para conectarnos a metasploitable.
creamos el archivo de configuración de ssh en la siguiente ruta si no existiera
sudo nano ~/.ssh/config
Si no estamos como Super usuario o sudo le damos la contraseña y dentro del archivo pegamos lo siguiente:
Host metasploitable
HostName 192.168.1.155 # IP actual de la VM
User msfadmin
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
con esto conseguimos evitarnos volver a escribir todos los comandos anteriores y con un simple...
ssh metasploitable
entraremos vía ssh a tan magnifico laboratorio a trastear.
Top comments (2)
Buenísimo. Esto es el principio de Postel aplicado a SSH: ser más liberal en lo que aceptas (permitiendo ssh‑rsa) para hablar con un sistema legado. Y el alias en ~/.ssh/config es puro DRY/filosofía Unix: menos repetición y un flujo de trabajo más fluido.
Muchas gracias por tu respuesta.