Cuando generas un par de claves, tú te quedas la clave privada y puedes instalar la clave pública en aquellos equipos a los que quieras acceder.
Así, teniendo tu clave privada en tu ordenador y tu clave pública en el ordenador remoto, puedes autentificarte sin contraseña
1. Generar las claves pública y privada
Bajo la cuenta del usuario actual (por ejemplo, el usuario "pi") ejecutamos:
Código: Seleccionar todo
ssh-keygen -t rsa
Dentro de ese directorio aparecerán dos archivos:
- id_rsa es tu clave privada. No debe ser compartida
- id_rsa.pub es tu clave pública, la que instalaremos en servidores remotos
Puedes ver el contenido de tu clave pública:
cat /home/pi/.ssh/id_rsa.pub
2. Importar la clave pública en el servidor remoto
Ahora vamos servidor al que queremos acceder con nuestra clave privada.
Para ello copiamos la clave pública al servidor de destino (o copiamos y pegamos el contenido de la clave pública)
En el servidor remoto debemos tener el directorio .ssh dentro de la carpeta del usuario al que nos queremos conectar
Dentro de ese directorio creamos un archivo llamado authorized_keys
Y dentro de ese archivo pegamos el contenido de todas las claves públicas que queremos autorizar.
Es decir, si queremos acceder a la cuenta del usuario root, debemos meter la clave en:
/root/.ssh/authorized_keys
O si queremos acceder como el usuario "pi" del servidor remoto:
/home/pi/.ssh/authorized_keys
3. Comprobamos los permisos
El directorio .ssh debe tener permisos 700 (chmod 700 .ssh)
Y el archivo authorized_keys también debe tener permisos 600 (chmod 600 .ssh/authorized_keys)
4. Conectamos con el servidor remoto
Conectamos como siempre:
- ssh root@11.22.33.44 para acceder como root con la clave pública de /root/.ssh/authorized_keys
- ssh pi@11.22.33.44 para acceder como pi con la clave pública de /home/pi/.ssh/authorized_keys
La primera vez que conectamos recibiremos el típico aviso de que no se conoce el equipo remoto:
The authenticity of host '11.22.33.44 (11.22.33.44)' can't be established
Si respondemos "Yes" se guardará en la lista de equipos conocidos.
Y ya está, deberíamos estar accediendo sin contraseña