openssh: falha de chave pública para apenas um usuário

2

Cliente: opensuse 10.3, openssh 4.6 host: opensuse 11.3, openssh 5.4

Eu tenho um usuário que tem a configuração de chave pública ssh para um host, para ativar a execução de alguns scripts por meio do cron. Nós migramos o host para um novo servidor e descobrimos que o usuário não pode mais se conectar ao host. No cliente, removi as chaves pública e privada RSA e os hosts conhecidos e, no servidor, removi o arquivo authorized_keys do usuário. Depois disso, gerei novas chaves ssh RSA usando 'ssh-keygen -t rsa' e copiei id_rsa.pub para authorized_keys no servidor. Ainda assim, não consigo me conectar.

Para os grins, eu configuro as chaves ssh RSA para meu próprio usuário na mesma máquina cliente, conectando-me ao mesmo host. Depois de copiar id_rsa.pub para authorized_keys no servidor, consegui fazer o login com sucesso.

Eu tenho outro usuário na máquina do cliente que as chaves ssh para o host também funcionam. Então parece que é essa conta que está causando problemas.

Os arquivos de configuração do sshd são idênticos entre os hosts. Você pode ver a configuração: link

A saída de 'ssh -vvv' está disponível em: link

Com o registro de sshd definido como VERBOSE, a saída que ocorre quando uma tentativa de conexão é feita aqui: link

Eu re-gerado as chaves várias vezes sem sucesso, e desde que eu configurei dois outros usuários hoje com chaves para o mesmo host, eu não acho que é simplesmente um problema-chave. E se for, não entendo como, desde que segui o mesmo procedimento a cada vez.

Agora tenho o sshd rodando com o loglvel DEBUG; você pode ver os registros de uma tentativa de chave pública ssh: link começando na linha 22.

Resolução: A causa é que a conta do usuário estava bloqueada no servidor. Eu inicialmente olhei para isso porque a conta do usuário também estava bloqueada no servidor antigo, mas o ssh ainda funcionava corretamente.

Eu descobri isso em parte, definindo "Use PAM no" na configuração do sshd. arquivo, reinicializando o sshd e tentando ssh novamente. Uma das entradas de log foi uma mensagem de que a "conta está bloqueada". Depois de desbloquear a conta, consegui me conectar com êxito via ssh usando a publickey.

Obrigado

    
por Kendall 01.07.2011 / 20:54

2 respostas

1

Apenas dando uma resposta 'apropriada' mesmo que eu editei a pergunta original para refletir a resolução ... mas aqui vai.

Resolution: The cause turned out to be that the user account was locked on the server. I initially looked past this because the user account was locked on the old server as well, but ssh still functioned properly.

I discovered this in part by setting "Use PAM no" in the sshd config. file, restarting sshd and trying to ssh in again. One of the log entries was a message that the "account is locked". After unlocking the account, I was able to successfully connect via ssh using publickey.

    
por 18.08.2011 / 17:23
2

Verifique as permissões no arquivo authorized_keys. Ele deve ser de propriedade do usuário que possui a conta, mas, mais importante, você não deve ser capaz de ler ou gravar a partir de outra conta de usuário:

$ chown user:group ~user/.ssh/authorized_keys
$ chmod 600 ~user/.ssh/authorized_keys
    
por 01.07.2011 / 21:01