Salta al contenuto principale
Lympha technologies

Guide pratiche

Acceder de forma segura a un VPS por SSH desde Windows

Acceso SSH seguro a un VPS desde Windows con PuTTY: por qué la autenticación con contraseña es vulnerable al brute force, cómo generar el par de claves con PuTTYgen, cargar la clave pública en authorized_keys y configurar la conexión con la clave pr…

Como parte del proceso de protección de tu VPS (consulta el artículo «Cómo proteger un VPS con sistema operativo Ubuntu Linux»), el acceso SSH mediante nombre de usuario y contraseña puede ser un punto crítico para la seguridad. Por lo general se tiende a utilizar contraseñas fáciles de memorizar (aunque contengan caracteres especiales, por ejemplo Ci@oM0nd0): esto puede exponerte a intentos de acceso por parte de usuarios malintencionados — de hecho, utilizando la técnica del brute force es posible dar con tu contraseña.

Esta técnica de ataque consiste básicamente en intentar acceder al servidor utilizando una base de datos de contraseñas conocidas hasta dar con la correcta. Si has seguido la guía indicada al principio de este artículo, ya has configurado un usuario sin privilegios que puede utilizar sudo y has instalado Fail2ban para mantener a raya los intentos de acceso no deseados. Con los próximos pasos aumentaremos aún más la seguridad del VPS.

Requisitos previos

  1. Un VPS con sistema operativo Linux
  2. Un usuario con privilegios adecuados, es decir, sudo (en este ejemplo se llama utente_vps)
  3. Tu ordenador debe utilizar Microsoft Windows como sistema operativo

En esta guía veremos cómo crear el par de claves SSH utilizando PuTTY.

Paso 1 — Instalamos PuTTY

  1. Desde la página oficial del desarrollador de PuTTY, descargamos el instalador para Windows
  2. Una vez descargado el paquete, hacemos doble clic para iniciar la instalación; por defecto PuTTY se instalará en el directorio C:\Program Files\PuTTY\
  3. Cuando termine el proceso de instalación, haz clic en Finish para cerrar el asistente

Paso 2 — Creación de las claves con PuTTYgen

  1. Para lanzar PuTTYgen usa el método que prefieras; en el ejemplo usaremos la barra de búsqueda de Windows, así que escribimos PuTTYgen
  2. Hacemos clic con el botón derecho sobre PuTTYgen y seleccionamos «Ejecutar como administrador»
  3. En la ventana de PuTTY Key Generator, haz clic en el botón «Generate» y mueve el cursor del ratón dentro de la ventana hasta que la barra verde llegue al final. El movimiento del ratón sirve para generar números aleatorios que PuTTYgen utilizará para crear el certificado.
  4. Guarda las claves pública y privada (botones «Save public key» y «Save private key») en la ruta que quieras, teniendo cuidado de especificar que la clave privada será sin passphrase (por ahora). Llegados a este punto habrás obtenido tus certificados, por ejemplo: mypub_key.pub y mypriv_key.ppk. Ten cuidado de no modificar las extensiones de los archivos: el certificado público tendrá la extensión .pub y el privado .ppk. Deja abierto PuTTYgen por ahora.

Paso 3 — Copiamos la clave pública en el VPS

Ahora que tenemos nuestro par de claves, ha llegado el momento de copiar la clave pública en tu VPS. Lanza putty.exe (o desde el símbolo del sistema puedes utilizar directamente ssh) y conéctate a tu VPS mediante su dirección IPv4, utilizando el usuario con privilegios sudo (en nuestro ejemplo se llama utente_vps).

Desde la ventana de PuTTY Key Generator, selecciona y copia todo el contenido del campo «Public key for pasting into OpenSSH authorized_keys file:» (asegúrate de haberlo seleccionado todo: el campo tiene una barra de desplazamiento).

Vuelve a la sesión SSH abierta antes y, desde el home de utente_vps, sitúate dentro de la carpeta .ssh:

utente_vps@mio_vps:~$ cd .ssh/

Si resulta que la carpeta no existe, no te preocupes: basta con crearla con:

utente_vps@mio_vps:~$ mkdir .ssh
utente_vps@mio_vps:~$ cd .ssh/

Llegados a este punto, usando el editor de textos nano, puedes crear o modificar el archivo authorized_keys dentro de la carpeta .ssh: pega el texto copiado anteriormente (la clave pública) sin introducir nada más (ni espacios ni saltos de línea). Para guardar el archivo usa la combinación de teclas CTRL+X y, si te pregunta si quieres sobrescribir el archivo, confirma con Y.

Paso 4 — Nos conectamos por SSH usando la clave privada

Ahora vuelve al programa PuTTY, introduce de nuevo la IP de tu VPS y, si procede, el puerto SSH (para cambiar el puerto 22 estándar lee el artículo «Cómo proteger un VPS con sistema operativo Ubuntu Linux») y en la columna de la izquierda busca la opción «Connection > SSH > Credentials».

En la sección de la derecha, en «Private key file for authentication», haz clic en el botón «Browse» e indica como archivo tu clave privada (extensión .ppk) generada antes. Vuelve a «Session»; si lo prefieres, puedes introducir un nombre en el campo «Saved Sessions» y hacer clic en el botón «Save» para no tener que repetir el procedimiento cada vez. Ya solo te queda hacer clic en «Open».

Tras introducir el nombre de usuario y pulsar INTRO, aparecerá la consola de tu VPS sin necesidad de introducir la contraseña, de forma segura.

El siguiente paso, para cerrar el círculo, es deshabilitar por completo el acceso con contraseña.

Guía publicada originalmente en el blog de VPS GREEN, el servicio VPS en nuestro cloud privado green.

Comparte este artículo

LinkedIn X Email

Redacción Lympha

Los artículos de este blog nacen de la experiencia de campo de nuestras Business Units y Centros de competencia: quien escribe es quien diseña, gestiona y da soporte cada día a los sistemas de los que hablamos. Los contenidos tienen carácter informativo y reflejan el estado del arte en la fecha de publicación.

También te puede interesar