Podemos acceder desde Windows por SSH a un servidor Linux remoto sin tener que indicar la contraseña cada vez usando la autenticación mediante clave pública siguiendo estos pasos:
Contenidos
Configuración del servidor Linux
Seguiremos estos pasos
Generación de claves en el cliente
Para la generación de claves desde Windows usaremos el programa puttygen.
Lo abrimos y veremos una pantalla como ésta:
Podemos cambiar el valor de 2048, abajo a la derecha, por 4096 para generar una clave más segura.
Pulsamos el botón Generate y nos pedirá mover el ratón hasta que se complete la barra de progreso, tras lo cual nos aparecerá esta pantalla:
Aquí tenemos la opción de indicar un comentario y una contraseña, aunque no es obligatorio.
Pulsando Save public key se guardará la clave pública en un fichero de texto plano y pulsando Save private key se guarda la clave privada en un fichero .ppk.
Copiar la clave pública del cliente en el servidor remoto
Debemos copiar el contenido del campo public key for pasting... de puttygen y pegarlo en el archivo ~/.ssh/authorized_keys del servidor remoto. Si este archivo tiene contenido, debemos añadirla, no borrar el contenido que ya tenga.
Acceder al servidor
Nos conectaremos al servidor remoto a través de putty:
En el menú de la izquierda, vamos a SSH, Auth y pulsamos Browse para indicar la ruta del archivo .ppk con la clave privada que acabamos de generar.
Volvemos a la pantalla inicial del programa, pulsando en la primera opción del menú Session e indicamos nuestro usuario e IP en el campo Host Name de la siguiente manera:
usuario@ip-servidor
Pulsamos en Open y podremos conectarnos a nuestro servidor sin tener que poner la contraseña.
Javier dice
Hola.
¿Y a la inversa?.
¿Cómo se haría para conectarse por ssh desde un linux a un windows donde hemos instalado el "OpenSSH Server"?, sin que pida contraseña claro.
Saludos.
Igor García dice
Pues no lo sé, a la inversa nunca lo he probado, lo siento