Por que o ssh efetua login com o mesmo par de chaves para uma conta, mas não para a outra na mesma máquina?

4

Eu tenho um par de chaves RSA público / privado no meu laptop; em uma máquina remota eu tenho duas contas A e B, cada uma com a chave pública em /home/{A, B}/.ssh/authorized_keys. Com a chave privada carregada no ssh-agent no meu laptop, posso ssh para o A @ remote sem uma senha, mas o B @ remote solicita uma senha.

Não tenho ~ / .ssh / ssh_config no meu laptop. O usuário A ainda não tem senha; B faz. Mudar / etc / ssh / ssdh_config para "PasswordAuthentication no" apenas resulta em "ssh publickey denied" para o usuário B.

O servidor está no Ubuntu 9.10 Karmic, com OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 de outubro de 2007. Laptop é Ubuntu 10.04 com OpenSSH_5.3p1.

    
por tobym 02.02.2011 / 21:20

2 respostas

4

Descobrimos que a pasta $ HOME / .ssh do usuário quebrado tinha a permissão "write" habilitada para o grupo. chmod go-rwx $HOME/.ssh corrigiu o problema.

    
por 02.02.2011 / 21:42
0

No meu caso, além das permissões para o arquivo .ssh/authorized_keys (s. resposta por @tobym), a causa do problema era uma conta bloqueada.

A depuração no servidor com sudo tail -f /var/log/auth.log mostrou

User <account-name> not allowed because account is locked

A conta foi bloqueada porque não defini nenhuma senha, pois queria apenas a autenticação baseada em chave e sem senha. Solução foi para

sudo passwd <account-name>

e atribua alguma senha complexa aleatória.

    
por 27.10.2016 / 10:50

Tags