… 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.