sudo: Jack of all trades, master of some

Autenticación SSH a través de llaves

Comentarios desactivados en Autenticación SSH a través de llaves

Desmitificando el método de autenticación de SSH a través de llaves:

Para los interesados en usar este tipo de autenticación a continuación un tutorial.

1. Generar las llaves RSA en el cliente

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_rsa
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub
The key fingerprint is:
bc:42:22:7e:98:25:03:6e:06:7e:a4:6a:77:b9:f0:3c usuario@host
The key's randomart image is:
 

Se generarán los archivos:
~/.ssh/id_rsa: llave privada
~/.ssh/id_rsa.pub: llave pública

2. Transferir la llave al host remoto

ssh-copy-id usuario@host

Donde: usuario y host son respectivamente el nombre de usuario y la
máquina a la que se transfiere la llave.

3. Deshabilitar la autenticación a través de contraseñas

Editar el archivo: /etc/ssh/sshd_config y establecer

ServerKeyBits 4096
PasswordAuthentication no

4. Permisos

Es importante establecer los permisos tal y como se muestra a continuación:

chown usuario.usuario ~/
chmod 600 ~/.ssh
chmod 400 ~/.ssh/authorized_keys

Una vez reiniciado el servicio SSH entonces iniciar la sesión de esta manera:

ssh usuario@host

Inmediatamente se solicitará el passphrase para poder continuar.
Para no tener que entrar el passphrase cada vez que se quiera iniciar una sesión entonces usar el comando ssh-add que le solicitará una sola vez la entrada del passphrase para todas las futuras sesiones. También es posible usar agentes SSH.

Notas