Cómo conectar a un servidor Linux desde Windows con SSH

Cómo conectar a un servidor Linux desde Windows con SSH

En esta entrada vamos a ver cómo conectar a un servidor Linux desde Windows con ssh (secure shell). Esto es aplicable tanto a una máquina Linux que puede estar en Internet, en nuestra red corportativa o local, en incluso en una máquina virtual sobre nuestra máquina Windows.

¿Sabías cómo conectar a un servidor Linux desde Windows 10?

No ha sido hasta Windows 10 que Microsoft ha decidido incluir un cliente ssh para consola. En las versiones anteriores con suerte había un cliente de telnet, que por su nula seguridad tiene una utilidad bastante reducida.

Para poder conectar a un servidor Linux desde nuestro escritorio de Windows nos valdremos de la aplicación PuTTY.

Descargar PuTTY para Windows

Vamos a descargar PuTTY para Windows localizando la última versión de este cliente ssh en su página oficial de descargas:

como descargar putty para windows
Descargar PuTTY para Windows desde la página de descargas

 

Están disponibles versiones de 32 y 64 bits. Hasta hace no mucho los autores de PuTTY nos ofrecían una colección de herramientas sueltas, una de las cuales era el propio PuTTY. Pero en la actualidad tenemos la opción de descargar el paquete completo. Para este ejemplo voy a descargar la suite de 64 bits. Podría haber elegido bajar exclusivamente PuTTY, pero para el bonus track del final de esta entrada necesitaré una de las otras herramientas, así que bajo el paquete completo.

Cómo instalar PuTTY

Una vez descargado el instalador (formato MSI) lo abrimos para iniciar la instalación:

Cómo instalar PuTTY en Windows
Instalador de PuTTY

 

Pinchamos en «Next»:

Directorio de instalación de PuTTY
Directorio de instalación de PuTTY

 

La carpeta de instalación que sugiere el instalador es la correcta, en este caso la de aplicaciones de 64 bits, así que procedemos a continuar:

Opciones de instalación de PuTTy
Opciones de instalación de PuTTy

 

Viene desmarcado por defecto el poner un acceso directo en el escritorio de Windows, a mí me parece bien, no soy mucho de iconos en el escritorio. Continuamos pinchando «Install» y tras solicitarnos confirmación el control de cuentas de usuario de Windows una barra de progreso acabará desembocando en la pantalla de final de instalación:

Instalación de PuTTY finalizada
Instalación de PuTTY finalizada

 

No recuerdo haber leído nunca ningún README tras una instalación, así que para continuar con la tradición desmarco «View README file». El instalador ha terminado su trabajo y lo cerramos pinchando en «Finish».

Cómo usar PuTTY para conectar a un servidor Linux

Buscamos el grupo de programas de PuTTY en la sección de programas del menú de inicio de Windows (o el acceso directo en el escritorio, si marcaste la opción durante la instalación). Abrimos PuTTY y nos aparece la pantalla inicial:

Pantalla inicial de Putty
Pantalla inicial de PuTTY

 

En «Host name (or IP address)» escribiremos el nombre o dirección de la máquina a la que queremos conectar. Si la configuración del servidor es la estándar, en «Port» no habría que cambiar nada, ya que 22 es el puerto estándar del servicio secure shell. En «Connection type» dejamos marcado SSH.

Indicando el servidor ssh en Putty
Indicando el servidor ssh al que queremos conectar en PuTTY

 

Ya estaríamos listos para iniciar sesión, pero antes, si pensamos conectar en múltiples ocasiones al servidor que acabamos de especificar, sería buena idea guardar los datos de conexión. Para ello, introducimos un nombre identificativo en «Saved Sessions» y a continuación pinchamos el botón «Save»:

Guardando datos de conexión en Putty
Guardando datos de conexión en PuTTY

 

Este proceso lo podemos repetir tantas veces como servidores Linux distintos queramos tener guardados. Al iniciar PuTTY bastará con marcar el nombre de la sesión que queramos establecer y pinchar en «Load» y después «Open», o directamente hacer doble clic sobre la sesión:

Cómo conectar a un servidor Linux desde Windows
Seleccionando la conexión que queremos abrir en PuTTY

 

Al establecer conexión con el servidor por primera vez, PuTTY nos informa de que no tiene registrada la huella que envía el servidor ssh:

Putty informa sobre la huella del servidor ssh
PuTTY nos informa sobre la huella que envía el servidor ssh

 

Las opciones que tenemos son:

  • Cancel: Aborta la conexión.
  • No: PuTTY no guardará la huella en el registro y permitirá la conexión. La próxima vez que conectemos a ese servidor, volverá a presentar este diálogo. Si la conexión al servidor es eventual, es buena idea no guardar la huella.
  • Sí: PuTTY registrará la huella y establecerá la conexión. La próxima vez que volvamos a conectar al mismo servidor comparará la huella que reciba con la que tiene guardada, informándonos si son distintas. Esto podría indicar que el servidor al que estamos conectando no es quien dice ser… o que se ha reinstalado el servicio y se ha generado una nueva huella.

Finalmente, cuando se establece la conexión, aparecerá la pantalla de login tras la que llegaremos a nuestra sesión de consola en Linux:

Pantalla de login en el sistema remoto
PuTTY nos ofrece la pantalla de login en el sistema remoto

 

Objetivo cumplido. Pero vamos a personalizar un poco más las conexión.

Cómo configurar un usuario predeterminado en PuTTY

En la mayoría de ocasiones accedemos a los mismos servidores (de ahí la comodidad de guardar las sesiones) y con los mismos usuarios. Vamos a establecer un usuario predeterminado en la configuración de la sesión, de modo que al conectar sólo tengamos que teclear la contraseña.

Seleccionamos la sesión guardada y cargamos sus datos pinchando en «Load». A continuación, en el panel de la izquierda, etiquetado con «Category» seleccionaremos la categoría «Connection» y dentro de esta el apartado «Data»:

Configurando un usuario predeterminado en Putty
Configurando un usuario predeterminado en PuTTY

 

En la primera caja de texto, etiquetada como «Auto-login username» tecleamos el nombre de usuario con el que iniciamos siempre sesión en ese servidor, volvemos a la categoría «Session» y guardamos la configuración pinchando en «Save». Ahora, al abrir la conexión (con «Open») PuTTY envía directamente el nombre de usuario al servidor Linux y este sólo pide la contraseña:

Putty envía automáticamente el nombre de usuario
PuTTY envía automáticamente el nombre de usuario

 

Más cómodo, ¿no? Pues todavía lo podemos mejorar y acelerar.

Cómo acceder a un servidor Linux sin contraseña con Putty

Vamos a crear una clave RSA con una de las herramientas de la suite de PuTTY, concretamente con PuTTYgen.

Cómo crear claves RSA con PuTTYgen

Buscamos PuTTYgen en el grupo de programas de PuTTY y lo abrimos:

Cómo crear una clave RSA para acceder a Linux
PuTTYgen, generador y administrador de claves RSA y DSA

 

Los valores por defecto están bien, pero aumentando el número de bits de 2.048 a 4.096 u 8.192 aumentará la seguridad de las claves. Pinchamos «Generate» y tendremos que mover el ratón aleatoriamente para que avance la creación de las claves:

PuTTYgen creando claves RSA
PuTTYgen creando las claves RSA

 

Cuando termina la creación de las claves, PuTTYgen presenta la pantalla con los resultados:

PuTTYgen ha creado las claves RSA
PuTTYgen ha creado las claves RSA

 

Ahora una consideración sobre lo que estamos haciendo. Si el equipo Windows en el que estamos trabajando está bien protegido, no necesitamos crear una contraseña que proteja las claves RSA, el punto de todo este trabajo extra es acceder al servidor Linux simplemente haciendo un doble clic sobre la lista de sesiones guardadas.

Si por el contrario no confiamos en la seguridad a nivel de archivos de la máquina Windows, deberíamos proteger las claves RSA mediante contraseña (campos «Key passphrase» y «Confirm passphrase»). El resultado es que al conectar con el servidor Linux se nos pedirá la contraseña de la clave RSA (no la del usuario).

Guardando las claves RSA generadas

Vamos a trabajar sobre el primer escenario. Copiamos al portapapeles todo el contenido de la caja de texto superior («Public key for pasting into OpenSSH authorized_keys file»). Después guardamos la clave pública pinchando en «Save public key» y la clave privada pinchando en «Save private key», que nos pedirá confirmación sobre si realmente queremos guardar la clave privada sin contraseña (passphrase).

Cómo configurar PuTTY con claves RSA

Abrimos PuTTY de nuevo, cargamos los datos de la sesión del servidor Linux y pinchamos en la categoría «Connection», dentro de esta en «SSH» y dentro de esta en «Auth»:

Cómo configurar PuTTY para usar claves RSA
Configurando PuTTY para usar claves RSA

 

Pinchamos el botón «Browse» para localizar el archivo de clave privada (extensión .ppk) que acabamos de crear con PuTTYgen y volvemos a la categoría «Session» para guardar los cambios. Y abrimos la conexión:

Servidor rechazando clave RSA
El servidor rechazando la clave RSA recién creada

 

Observamos el mensaje que nos informa que rehúsa nuestra clave RSA. Es normal, sólo hemos configurado el lado del cliente, tenemos que configurar el servidor. A pesar de rechazar la clave RSA nos pide la contraseña de nuestro usuario y así accedemos a la sesión de consola.

Cómo configurar Linux para acceder mediante claves RSA

Una vez que hemos iniciado sesión en el servidor Linux, crearemos (si no existiera) en nuestro directorio de inicio un directorio llamado .ssh y dentro de este un archivo llamado authorized_keys:

~$ mkdir .ssh
~$ nano .ssh/authorized_keys

En este archivo pegaremos el contenido del portapapeles, que previamente copiamos de PuTTYgen. Pegar el texto es muy sencillo, basta presionar el botón secundario del ratón (para copiar datos del terminal de PuTTY se seleccionaría el texto con el ratón y se presionaría el botón principal del ratón). Debería quedar todo en una única línea.

Una vez guardados los cambios, cerramos la sesión y volvemos a iniciarla con PuTTY. Esta vez observaremos algo diferente:

Acceso al servidor mediante clave RSA
Acceso al servidor mediante clave RSA

 

El servidor ha recibido nuestro nombre de usuario y la clave RSA con la que nos permite entrar directamente a la sesión. ¿Se puede hacer más cómodo?

Consideraciones adicionales sobre las claves RSA

Cosas que podemos tener en cuenta trabajando con estas claves:

  • El archivo importante es el privado (.ppk). Cargándolo en PuTTYgen en cualquier momento podemos generar la clave pública, el texto a añadir en el archivo authorized_keys, ponerle claves, cambiarlas, quitarlas, etc.
  • Podemos generar tantas claves RSA como queramos, bastará con pegar la clave pública que copiamos de PuTTYgen en una línea nueva del archivo authorized_keys para poder acceder con las nuevas claves privadas.
  • Eliminar una línea del archivo authorized_keys provocará el rechazo del servidor ssh de Linux a la clave privada correspondiente.
  • Para acceder desde otra máquina Windows con PuTTY crearemos una sesión copiando en alguna ubicación el archivo de clave privada (.ppk) y configurando la sesión como vimos antes. Me remito a las consideraciones de seguridad que hice antes sobre usar claves RSA con o sin contraseña (passphrase).

Conclusión final

Puede parecer un poco aparatoso configurar inicialmente PuTTY, pero una vez hecho el trabajo de configuraciones de nuestros servidores Linux, todo lo demás son ventajas. Inicio rápido, manejo de claves RSA, facilidad para copiar y pegar texto entre Windows y Linux… Incluso teniendo por fin en Windows 10 un cliente ssh de línea de comandos similar al de la consola de Linux, sigo usando PuTTY.

¿Y vosotros, qué opináis? Dejadme un comentario si tenéis dudas, preguntas o sugerencias.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies