A troca de chaves SSH não está funcionando

1

Existe alguma maneira de verificar por que a troca de chaves SSH entre dois servidores não está funcionando?

No servidor A: Eu fiz os seguintes passos:

ssh-keygen –t rsa
cd /.ssh
cp id_rsa.pub authorized_keys

Em seguida, no servidor B: Eu criei o diretório .ssh e carreguei o authorized_keys do servidor A

Eu tentei fazer o login do Servidor A para o Servidor B, mas o sistema ainda está solicitando que eu digite a senha.

Eu tentei usar isso: No servidor (A) você se conecta via ssh user1 @ host? Você pode tentar ssh -o PreferredAuthentications = publickey user1 @ host, mas ele mostra permissão negada Permissão negada (gssapi-keyex, gssapi-com-mic, publickey, senha, keyboard-interactive).

Qualquer conselho sobre como verificar o que está errado? Apenas informações adicionais no Servidor A não estou usando a conta root.

    
por dfdfd 06.10.2011 / 12:25

5 respostas

3

Tente ssh -v , isso deve fornecer informações adicionais sobre o processo de autenticação.

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive,hostbased
debug1: Offering RSA public key: /home/nce/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277

Apenas para confirmar seus passos: Você criou um par de chaves via ssh-keygen Em seguida, você fez o upload da chave em .ssh/id_rsa.pub para o servidor (B) e anexou-a ao .ssh/authorized_keys do usuário1.

No servidor (A) você se conecta via ssh user1@host ? Você pode tentar ssh -o PreferredAuthentications=publickey user1@host

E você poderia fornecer um arquivo de identidade especial / diferente por ssh -i ~/.ssh/serverB/id_rsa user1@host

    
por 06.10.2011 / 12:43
2

Verifique as permissões do arquivo serverb authorized_keys. Se houver permissão de gravação para grupo / outro, o login usando chaves públicas falhará e voltará para a senha, se estiver disponível. Se necessário, altere as permissões no arquivo authorized_keys para 644.

Possível, mas menos provável é que você tenha a autenticação de chave pública desativada no arquivo /etc/ssh/sshd_config . Verifique se o arquivo de configuração não contém uma linha

PubkeyAuthentication no

SE ele apenas faz um comentário (o padrão é sim) e reinicia o serviço sshd.

    
por 06.10.2011 / 12:54
1

Verifique se o sshd em B está configurado para aceitar a autenticação baseada em chave. Em sistemas baseados em RedHat, o arquivo de configuração é / etc / ssh / sshd_config.

    
por 06.10.2011 / 14:35
0

Uma dica para você: dê uma olhada no log sshd do servidorB ( /var/log/secure no Red Hat)

link

E para o futuro, você deve usar ssh-copy-id em vez de cópia manual.

    
por 06.10.2011 / 12:40
0

Este comando não deve funcionar:

cd /.ssh

Isso é um erro de digitação ou você estava no lugar errado quando copiou o arquivo id_rsa.pub para authorized_keys?

Faça o login no servidor B e cat ~/.ssh/authorized_keys para ver se ele contém o que está no mesmo arquivo no servidor A.

Note que não é importante que você mantenha o arquivo authorized_keys no servidor A, pois ele não é usado na transação de autenticação do servidor A para o servidor B. Você só precisa do arquivo id_rsa em ~ .ssh / no servidor A.

    
por 06.10.2011 / 14:24

Tags