Acceso SSH con llave privada y home encriptado Publicado por Deimos el26/Nov/2017 - 12:20 PM



El acceso a nuestro servidor por medio de SSH con nuestra llave privada, deshabilitando el logueo por password, es una de las mejores medidas de seguridad que debemos tomar para interactuar de forma remota; sin embargo, si además de ello habilitamos el encriptamiento del directorio home ya no podremos ingresar al servidor. 

El problema se debe a que el directorio home está encriptado y se habilita hasta que te logueas con tu password, por lo que SSH no puede acceder al archivo authorized_keys, por lo que optará por la autenticación por contraseña, pero la hemos deshabilitado. 

Para resolver esto lo primero que debemos hacer es crear un directorio fuera de home al que SSH pueda acceder, y moveremos el archivo authorized_keys en él: 
$ sudo mkdir /etc/ssh/<username> 
$ sudo chmod 755 /etc/ssh/<username> 
$ sudo mv ~/.ssh/authorized_keys /etc/ssh/<username>/.
$ sudo chown -R <username>:<username> /etc/ssh/<username>
$ sudo chmod 644 /etc/ssh/<username>/authorized_keys
Vamos a editar el archivo de configuración de SSH
$  sudo nano /etc/ssh/sshd_config 

Al final del archivo agregamos la siguiente línea: 
AuthorizedKeysFile    /etc/ssh/%u/authorized_keys
Reiniciamos el servicio SSH
$ sudo service ssh restart
Eso es todo, ya podrás loguearte en el servidor por medio de tu clave privada y con el home encriptado. Recuerda que si debes agregar otras claves, debes hacerlo en el nuevo archivo de claves autorizadas. 

Luis Manuel Ramírez +DEIMOS+

Fuentes: 
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Troubleshooting