… o lo que es lo mismo realizar un login remoto o ssh sin utilizar usuario y contraeña.
Es el caso en el que queremos realizar un login remoto o login por ssh desde un equipo A a un equipo B (o a ‘n’ equipos) y no queremos utilizar el usuario y contraseña cada vez que realizamos el login.
Los pasos son los siguientes:
- Relizar el login en el equipo A
- Generar la clave rsa para autenticación
- Copiar la clave rsa generada en el equipo B
- Realizar el login en el equipo B utilizando la clave recién generada
Como podemos imaginarnos necesitamos tener cuentas en ambos equipos para poder realizar estos pasos
Generar las claves para autenticación desde el equipo A
El comando ssh-keygen genera las claves de autenticación que podemos utilizar para el protocolo ssh de versiones 1 y 2. En este caso dejamos en blanco la passphrase.
La cuenta de usuario en este equipo se corresponde con user1.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
/home/user1/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:a3xg5xjLeq8t7qYVwcaa/m4wK/K+zn/ugE5GTxW8WHE user1@equipoa
The key's randomart image is:
+---[RSA 2048]----+
...
...
+----[SHA256]-----+
Copiar la clave recién generada en el equipo B desde la cuenta de usuario del equipo A
La cuenta de usuario en el equipo B se corresponde con user2.
$ ssh-copy-id user2@equipob
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user1/.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
user2@equipob's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user2@equipob'"
and check to make sure that only the key(s) you wanted were added.
Realizar el login ssh desde el equipo A en el equipo remoto B utilizando la clave recién copiada
$ ssh user2@equipob
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
A partir de ahora cada vez que realicemos el login en el equipo B no necesitaremos realizar el login ssh con la contraseña.