SSH
sin necesidad de
ingresar una contraseña cada vez que nos identifiquemos.
Paso 1. Generar una llave en la máquina local
Ejecutamos el siguiente comando en una terminal:
$ ssh-keygen
Inmediatamente se nos pedirá la ruta completa y el nombre de la llave. Puedes darle a la llave el nombre que quieras y ponerlo en la
ruta que desees. Para este ejemplo la llave se llamará mi-llave
y lo guardaremos en la carpeta
/home/usuario/.ssh/
:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/mi-llaveNo ingresaremos ninguna contraseña por lo que simplemente presionaremos Enter dos veces:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/mi-llave
Created directory '/home/usuario/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Finalmente, se nos habrá creado la llave con el nombre y en la ruta especificada:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/mi-llave
Created directory '/home/usuario/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/mi-llave.
Your public key has been saved in /home/usuario/.ssh/mi-llave.pub.
The key fingerprint is:
a3:c1:d4:be:ca:c5:50:5c:da:71:25:a4:c4:81:1c:a2 deivit@mimaquina
The key's randomart image is:
+--[ RSA 2048]----+
| .+.+.. |
| .+= = . |
| .+== |
| Eo. . |
| o . S |
| o + . . |
| o = |
| . o . |
| o.. |
+-----------------+
Paso 2. Copiar la llave pública a la máquina remota
Ejecutamos el siguiente comando (cambiar el texto resaltado por los datos de tu máquina remota):
$ ssh-copy-id -i /home/usuario/.ssh/mi-llave.pub user_remoto@ip_remoto
Inmediatamente se nos pedirá ingresar la contraseña del usuario en la máquina remota:
$ ssh-copy-id -i /home/usuario/.ssh/mi-llave.pub user_remoto@ip_remoto /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 user_remoto@ip_remoto's password:
Ahora la llave ha sido copiada a la máquina remota:
$ ssh-copy-id -i /home/usuario/.ssh/mi-llave.pub user_remoto@ip_remoto
/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
user_remoto@ip_remoto's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user_remoto@ip_remoto'"
and check to make sure that only the key(s) you wanted were added.
Paso 3. Relacionar la llave con la máquina remota
Editaremos el archivo /home/usuario/.ssh/config
(crearlo si no existe). Agregaremos el siguiente texto (cambiar lo
que está resaltado por los datos de la máquina remota):
Host ip_remoto
port 22
IdentityFile /home/usuario/.ssh/mi-llave
Paso 4. Probar que todo funciona correctamente
Ahora solo nos resta probar que todo ha salido correctamente. Para ello simplemente ejecutamos el siguiente comando (cambiar lo resaltado):
$ ssh user_remoto@ip_remoto
Y si todo ha salido bien, ingresaremos a la máquina remota y no se nos pedirá ninguna contraseña.
Fuentes:
No hay comentarios:
Publicar un comentario