O login baseado na chave ssh funciona somente se uma sessão já estiver ativa. falha de outra forma

2

ssh com autenticação baseada em chave está falhando na primeira vez, caindo para autenticação baseada em senha. No entanto, se o usuário estiver logado (via ssh ou diretamente no terminal da VM), a autenticação baseada em chave funcionará.

Existem várias soluções propostas na rede, mas até agora nenhuma delas funcionou.

Tentei pegar o arquivo / etc / ssh / sshd_config de outro servidor onde eu possa fazer o login pela primeira vez (ou seja, sem esse problema). Mas na VM, essa questão continua.

A máquina é uma VM do Ubuntu 14.x rodando no Virtual Box.

Analisaram essas postagens relacionadas, mas não funcionaram:

O que poderia 'Roaming não permitido por server 'of ssh client mean? - definir HostbasedAuthentication como yes não funcionou. definindo UseRoaming para qualquer valor fez com que o servidor ssh falhasse em reiniciar.

Outros posts sugeriram configurar as permissões para ~ / .ssh para 700 e ~ / .ssh / authorized_keys para 600 - elas também não estão fazendo diferença.

A parte estranha é que a autenticação baseada em chave funciona quando o usuário já está conectado. Por outro lado, se o usuário fizer logout de todas as sessões e tentar logar novamente, o prompt de senha será exibido.

Obrigado por seus pensamentos!

    
por jerry 08.08.2015 / 22:35

1 resposta

0

Portanto, o problema é que o seu diretório pessoal é criptografado e bloqueia automaticamente sempre que você efetua logout completo.

E se o diretório pessoal estiver criptografado, ~ / .ssh / authorized_keys também será criptografado, portanto, o sshd não poderá determinar quais chaves são permitidas.

Você terá que especificar um AuthorizedKeysFile diferente no seu sshd_config ou desabilitar o ecryptfs.

    
por 11.08.2015 / 01:08