Aqui está a solução do link que postei no meu comentário. Isto vem de aqui , que faz referência a este post do superusuário .
Crie a pasta .ssh
em /home
para as chaves a serem armazenadas
sudo mkdir /home/.ssh
Mover o arquivo authorized_keys existente para .ssh
dir como nome de usuário
sudo mv ~/.ssh/authorized_keys /home/.ssh/username
Crie um link simbólico para o arquivo authorized_keys no usuário .ssh
dir
ln -s /home/.ssh/username ~/.ssh/authorized_keys
Atualize o arquivo sshd_config
para definir o novo caminho para o arquivo authorized_keys
sudo vim /etc/ssh/sshd_config
Altere a linha AuthorizedKeysFile
para:
AuthorizedKeysFile /home/.ssh/%u
Reinicie o computador
sudo shutdown -r now
Faça login no seu servidor e você deverá receber um diretório inicial mínimo não descriptografado ... Você precisará criar e editar um arquivo .profile para obter o ecryptfs
para montar seu diretório pessoal.
sudo vim ~/.profile
Adicione estas linhas:
ecryptfs-mount-private
cd /home/username
Saia / Reinicie e volte novamente. Você deve ser solicitado a fornecer sua senha após a autenticação da chave SSH e, em seguida, receber o seu diretório pessoal descriptografado.
Agora você deve conseguir fazer o login usando as chaves SSH todas as vezes, não importando se o diretório inicial é descriptografado ou não.