Cómo conectarse a un servidor VPS mediante SSH y claves RSA

Requisitos

Debemos tener definido el nombre de usuario que vamos a conectar.

Puedes usar tu mismo nombre si es una conexión nueva, sin embargo puede que necesites usar algún nombre que el administrador del hosting VPS haya definido previamente, o uno que se haya establecido al crear tu cuenta en el servidor de forma predeterminada.

Si tienes dudas, usa tu nombre, no pasa nada, si no corresponde puedes volver a crearlos.

En cuanto al nombre del servidor no tiene mucha importancia, puedes usar cualquier palabra, pero es útil identificarlo correctamente.

Primero veamos el procedimiento para los usuarios de Linux y OSX:

Para empezar, vamos a crear un par de claves SSH de ejemplo para el usuario oscar con el servidor google-cloud, para eso abrimos una terminal y tecleamos lo siguiente:


ssh-keygen -t rsa -f ~/.ssh/google-cloud -C oscar

Antes de continuar, la palabra google-cloud puedes reemplazar por otro nombre de servidor y la palabra oscar debes reemplazar por tu nombre de usuario.

Para continuar le damos los permisos chmod correspondientes para proteger la clave privada que hemos generado:


chmod 400 ~/.ssh/google-cloud

Ahora vamos a ver el contenido de la clave pública con el nombre del servidor que se ha creado en la carpeta ~/.ssh/ mediante el comando cat:


cat ~/.ssh/google-cloud.pub

Esto nos mostrará la llave para acceder al VPS, es una serie de caracteres que empieza por ssh-rsa y termina con el nombre de usuario.

Vamos a copiarlo así completo y lo enviaremos al administrador del VPS para que nos configure el acceso al hosting.

Una vez que el administrador nos haya confirmado y tengamos la dirección IP ya podremos acceder al servidor VPS sin necesidad de Password, solo escribiendo ssh usuario@ip-del-servidor:


ssh oscar@192.200.190.1

A veces necesitarás agregarle la ruta local de la clave, por ejemplo:


ssh -i ~/.ssh/google-cloud oscar@192.200.190.1

Puede que muestre un mensaje, debes responder afirmativamente.


Are you sure you want to continue connecting (yes/no)? yes

Procedimiento para usuarios de Windows

Primero vamos a la página de descarga del paquete Putty para instalar la versión correspondiente de putty*installer.msi https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Después de la instalación, buscamos y abrimos Puttygen para generar un par de claves SSH, presionando el botón Generate.

Luego nos fijamos en la sección Key Comment: y reemplazamos el texto del campo por nuestro nombre de usuario.

Una vez puesto el usuario, copiamos todos los caracteres que aparecen bajo Public key for pasting into OpenSSH authorized_key file: asegúrate que al final de lo copiado, tenga el nombre de usuario.

Lo que copiamos debemos enviar al administrador del VPS para que nos habilite el acceso.

A continuación presionamos en Save private key y guardamos el archivo con el nombre google-cloud.ppk o cualquier otro nombre de servidor para poder identificarlo.

Luego click en Save public key y lo guardamos como google-cloud.txt o cualquier otro nombre que podamos identificar.

Cerramos Puttygen y ahora abrimos solo Putty, en el campo Host Name (or IP address) ponemos nuestro usuario@ y dirección IP del servidor, en el ejemplo hemos puesto oscar@192.200.190.1

Luego bajamos a la sección Connection->SSH->Auth donde vamos a buscar y abrir el archivo google-cloud.ppk que hemos guardado anteriormente.

Cuando el administrador del servidor nos confirme que ya ha configurado el acceso, solo nos queda presionar Open para abrir la terminal con la conexión.