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
sshdprecisa obter seu loginauthorized_keysantes 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.