Servidores

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:

sudo apt install openssh-client openssh-server -y

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
  • 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:

ssh-copy-id luis@192.168.1.88

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
  • 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:

ssh luis@192.168.1.88

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

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • 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.

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.