En esta entrada voy a configurar el acceso SSH a un equipo remoto utilizando llaves público-privada. De esta manera evitamos tener que ingresar la contraseña cada vez que accedamos vía SSH al equipo remoto.
Mi equipo local es un Debian 10.5 instalada en Windows 10 modo WSL. El equipo remoto es un Linux Mint 19.3 [192.168.0.12].
Contenido |
---|
1. Setup |
2. Instalar el cliente SSH |
3. Crear el par de llaves en el equipo local |
4. Copiar la llave pública al equipo remoto |
5. Probar el acceso SSH password-less |
6. Links de referencia |
1. Setup
Windows 10
Debian 10.5 (WSL) (equipo local).
Linux Mint 19.3 (equipo remoto).
2. Instalar el cliente SSH
Abrimos Debian en WSL y validamos si tenemos instalado el cliente Open SSH en el equipo local. Si no está instalado, con este mismo comando se instalará.
sudo apt install openssh-client
3. Crear el par de llaves en el equipo local
Para crear el par de llaves en el equipo local ejecutamos.
ssh-keygen -t rsa
Salida del comando.
leandro@Windows10:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/leandro/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/leandro/.ssh/id_rsa.
Your public key has been saved in /home/leandro/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:77DpeJRFRV5PRxkBYKFPm6eu4/CuG5iVurhCf6CwQZQ leandro@Windows10
The key's randomart image is:
+---[RSA 2048]----+
| . *=.o+B|
| E +. . +.|
|. o .. .|
| . . + o |
|. oSo + . |
|o. . = o. o |
|ooo .+ +. .. |
|.o .....=*. |
| .oo..=O=+. |
+----[SHA256]-----+
4. Copiar la llave pública al equipo remoto
En el equipo local vamos a utilizar el comando ssh-copy-id para copiar la llave pública al equipo remoto [192.168.0.12].
ssh-copy-id -i ~/.ssh/id_rsa.pub leandro@192.168.0.12
Nos pide contraseña del usuario en el equipo remoto y luego agrega la llave.
Salida del comando.
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/leandro/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys leandro@192.168.0.12's password: Number of key(s) added: 1
5. Probar el acceso SSH password-less
Finalmente para probarlo simplemente ejecutamos.
ssh 'leandro@192.168.0.12'
6. Links de referencia
Generate SSH Keys on Windows 10
How to execute Linux commands on remote system over SSH
Disclaimer: por favor utilizar este material bajo tu responsabilidad. No aplicar en ambientes productivos sin haberlo probado antes y asegurate de tener siempre una copia de seguridad.