Como mencionado no comentário, você está usando um diretório pessoal criptografado e provavelmente está usando o pam_mount para montá-lo.
pam_mount monta a partição usando a senha adquirida durante o login. Como você está tentando fazer login via chaves públicas ssh, há dois problemas:
- Não há senha sendo enviada durante a autenticação de chave pública, portanto, não é possível montar seu diretório inicial usando-a.
- Ao usar pam_mount, seu diretório inicial é montado após login, mas
sshd
precisa obter seu loginauthorized_keys
antes e, portanto, não está montado.
Qualquer um desses problemas é suficiente para impedir que funcione.
A única solução é obter suas chaves públicas fora do diretório inicial. Isso é bem simples.
Primeiro, copie o arquivo authorized_keys
do diretório inicial:
cp -a /home/$USER/.ssh/authorized_keys /home/$USER-authorized_keys
Em seguida, informe sshd
para usar esse arquivo adicionando o seguinte a /etc/ssh/sshd_config
(substitua a entrada existente, se houver):
AuthorizedKeysFile .ssh/authorized_keys /home/%u-authorized_keys
E devolve sshd
.
No entanto, observe que isso não montará seu diretório pessoal. Seu diretório pessoal ainda precisa da sua senha para descriptografar. Dependendo de como você configurou o pam_mount, ele pode solicitar sua senha ou simplesmente deixá-lo em um shell com sua casa desmontada.