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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.