Autenticação RSA: Não é possível obter login sem senha com SSH

1

Eu configurei meu computador para fazer a autenticação pública / privada com um servidor remoto, mas de alguma forma ele não está funcionando hoje.

Eu fiz o ssh key-gen -t rsa, depois o scp'd para o controle remoto.

Eu posso scp sem senha (usando a chave pub / priv), mas sempre que eu tento o SSH, ele solicita a senha.

O que posso fazer para autenticar apenas na chave?

    
por pureman 14.05.2011 / 18:15

4 respostas

4

Você deve verificar se você tem (sshd_config):

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

UsePAM yes  <-- That one is usually the last line of the sshd_config

Em seguida, sua chave pública é adicionada a authorized_keys no seu ~/.ssh/ . O último ( UsePAM yes ) é muito importante, pois se for desabilitado, ele forçará você a autenticar com sua conta unix. O PAM está aqui para dizer que a autenticação da chave privada é suficiente para efetuar login. Eventualmente, se isso ainda não resolver, talvez seja necessário verificar a configuração do PAM.

    
por 14.05.2011 / 18:37
0

Você precisa adicionar sua chave pública no servidor às chaves autorizadas:

ssh-keygen -i -f keyfilename.pub >> ~/.ssh/authorized_keys2

ou

cat keyfilename.pub >> ~/.ssh/authorized_keys2
    
por 14.05.2011 / 22:32
0

Se você pode scp com a chave, mas não o ssh, parece que o seu cliente scp pode encontrar a chave, mas o cliente ssh não pode.

Como você mencionou ssh-keygen -t rsa , presumo que esteja usando o OpenSSH no UNIX de algum tipo e salvou a chave no local padrão em alguma conta de usuário.

Você está conectado como usuário diferente daquele com a chave (por exemplo, su ed ou sudo ed) quando está executando o cliente ssh? Se você precisar ssh sem uma senha dessa conta também, provavelmente usará ssh-keygen nessa conta e, em seguida, colocará a chave ssh pública da conta no arquivo de chaves autorizadas do servidor remoto, junto com a outra.

    
por 14.05.2011 / 23:01
0

Primeiro, no servidor remoto:

/usr/sbin/sshd -de -p 1234

Em segundo lugar, no seu computador:

ssh -vp 1234

Você pode encontrar o erro.

Ou você pode postá-los aqui.

    
por 28.05.2013 / 14:10

Tags