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á:
- 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:
- 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:
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.
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.
Pingback: Autenticación desde Windows a Ubuntu Server con PuTTY y claves SSH - Parzibyte's blog
Pingback: Sincronización en Ubuntu con SSH, Rsync y crontab - Parzibyte's blog