Isso é um pouco mais complicado do que você está descrevendo (e você omite muitos detalhes importantes para responder completamente a essa pergunta). Mas o código-fonte é um bom lugar para começar:
- A falha é emitida apenas se a autenticação de chave pública for executada
- Os diretórios pai são importantes e são "aceitos" somente se
- o
sshd
podestat()
it - o diretório é de propriedade do usuário que faz log in OU
root
no Linux (platform_sys_dir_uid()
cuida disso) - o diretório não pode ser gravado por nenhum outro usuário (o bit de gravação pode ser definido apenas para o proprietário)
- o
Isso basicamente corresponde aos seus dois primeiros pontos, mas não ao terceiro. Haverá algo mais na rodada que você alterou ou não notou. Ative o registro de depuração no servidor e investigue-o (ou publique-o na pergunta editada).