SSH Solicita senha, mesmo que as chaves privadas estejam disponíveis, apresentadas ao servidor e conhecidas por ele

9

Eu tenho um desktop ubuntu dentro de uma máquina VirtualBox e tenho um comportamento estranho com o servidor openssh:

  • quando meu usuário ainda não está conectado ao servidor (primeira conexão ssh), ele solicita a senha, mesmo que as chaves privadas estejam disponíveis (PuTTY + Pagent). Após a primeira conexão, se eu abrir uma conexão secundária ou terceira, ela será conectada às teclas.
  • Se eu fechar todas as conexões e abrir uma nova, ele solicitará a senha.
  • Se eu tiver deixado 4 conexões abertas e fechar a primeira (a que solicitou a senha), a quinta conexão será aberta com as teclas

Alguém já viu isso?

Obrigado pelo tempo gasto ajudando

Cerber
fonte

Respostas:

14

Como o diretório inicial do usuário é montado? Parece que, por qualquer motivo, o diretório inicial do usuário não estará disponível se o usuário não estiver conectado, de forma que o sshd não encontre o arquivo allowed_keys.

Além disso, consulte /var/log/auth.log no servidor para obter quaisquer mensagens.

Atualização: se for necessário fazer login sem senha, você pode alterar o arquivo sshd_config para procurar authorzied_keys em um diretório não criptografado. http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Suponho que algo assim funcionaria (não testado):

AuthorizedKeysFile /etc/ssh/pubkeys/%u/authorized_keys .ssh/authorized_keys

Isso deve dizer ao sshd para verificar se há chaves públicas no local não criptografado e no local criptografado. Verifique a página do manual para mais informações.

cjc
fonte
Boa ideia !! Eu acho que o diretório do usuário está criptografado, então pode ser isso!
Cerber
O diretório inicial do usuário deve estar usando ecrypt ou algo parecido.
kzh 13/09/11
1
Ah, essa seria a causa, pois o sshd não pode descriptografar o conteúdo do diretório inicial.
cjc 13/09/11
1
@kzh: sim, foi queimado por isso uma vez com o Ubuntu Desktop. Pergunta se você deseja criptografar o diretório inicial (por que não?) Sem mencionar o ssh. Eu deveria ter colocado dois e dois juntos, mas uma simples "observação: isso afetará o SSH ..." teria sido útil.
Gravyface
1
Se você não digitar sua senha, como o seu diretório pessoal será descriptografado quando você fizer login?
precisa saber é o seguinte