Autenticación SSH Ubuntu | clave pública y privada

Introducción

Hoy veremos cómo conectarnos a un servidor remoto que ejecuta Ubuntu 18.04 desde un servidor local utilizando SSH sin contraseña; ya que utilizaremos autenticación por clave pública y privada.

Requisitos

Tener a la mano usuario, contraseña e IP del servidor remoto. En el servidor remoto necesitamos el servidor SSH y en el servidor local el servidor SSH cliente. Para quitarnos de dudas mejor instalamos el cliente y servidor en ambos lugares.

Si no viene instalado, lo instalamos con:

La opción y es para decir “sí” automáticamente cuando el instalador lo pregunte.

Recuerda que tu servidor debe tener una IP estática (o al menos eso se recomienda, pero con que la tengas a la mano basta). Si no sabes configurarla, aquí hay un tutorial de cómo hacerlo en Ubuntu 18.04.

Términos

Se usará servidor remoto para referirnos al servidor que controlaremos a través de SSH, y servidor local para referirnos al servidor cliente desde donde controlaremos al remoto.

Generar claves SSH en el servidor local

Vamos a utilizar ssh-keygen para generar una clave pública y una privada. Para ello…

ssh-keygen

Y el asistente nos guiará:

Generar claves SSH
Generar claves SSH
  • En el paso 1 ejecutamos la utilidad.
  • En el paso 2 nos pregunta una frase de contraseña opcional. Podemos dejarla vacía, o podemos ponerla.
  • En el paso 3 confirmamos la frase de contraseña. Si la dejamos vacía en el paso 2, la dejamos vacía en este paso.

En caso de que hayamos puesto una frase de contraseña hay que memorizarla, pues será requerida más abajo.

Copiar clave pública SSH al servidor remoto

Ya generamos las claves, ahora vamos a copiar la pública al servidor remoto. Para ello, ejecutamos lo siguiente en el servidor local:

Ponemos usuario@ip.del.host.remoto en donde usuario es un usuario válido que puede loguearse en el host remoto, y después del arroba ponemos la IP. En este caso es en una red local así que pongo la 192.168.1.88

Veamos la imagen:

Copiando clave SSH
Copiando clave SSH
  • En el paso 1 ejecutamos el comando.
  • Más tarde, en el paso 2, confirmamos. Es importante escribir “yes”, así como se ve en la imagen
  • Finalmente en el paso 3 ponemos la contraseña con la que el usuario del servidor remoto se loguea. Esto sólo se nos será solicitado una vez.

Con eso ya podremos conectarnos al servidor remoto.

Conectarnos al servidor remoto con secure shell

Ahora ya podemos loguearnos en el servidor remoto, y todo ello sin que nos pida contraseña. Para hacerlo ejecutamos:

En donde “luis” es el usuario que se puede loguear en el servidor remoto, y la IP es la dirección del servidor remoto. Veamos la imagen:

Autenticación con SSH
Autenticación con SSH

Nos logueamos normalmente con ssh. Pero lo que quiero que notemos es que más tarde, el servidor remoto nos da la bienvenida. Y no sólo eso, también cambia el prompt y pasamos de estar en ubuntu2 a adminserv7.

Con esto terminamos este tutorial.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

3 comentarios en “Autenticación SSH Ubuntu | clave pública y privada”

  1. en la parte “terminos” recomiendas usar los terminos computador remoto y computador local, pero inmediatamente a la siguiente seccion omites en que host tiene que ingresar los comandos, gracias por el tuto, muy bueno.

  2. Pingback: Autenticación desde Windows a Ubuntu Server con PuTTY y claves SSH - Parzibyte's blog

  3. Pingback: Sincronización en Ubuntu con SSH, Rsync y crontab - Parzibyte's blog

Dejar un comentario