Tentando acessar o SSH no computador remoto, mas ainda pedindo senha

14

Tentando acessar o SSH no computador remoto, mas ainda pedindo senha.

Eu tenho um número de computadores rodando o SElinux e apenas um deles está dificultando o uso do ssh sem a senha.

Eu fiz um ssh-copy-id e posso ver minha chave no .ssh / authorized_keys.

Eu chmod 700 .ssh e chmod 600 todos os arquivos em ./ssh / *

Se eu fizer um ssh -v, esta é minha saída:

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to wcmisdlin05 [10.52.208.224] port 22.
debug1: Connection established.
debug1: identity file /home/jsmith/.ssh/identity type -1
debug1: identity file /home/jsmith/.ssh/id_rsa type 1
debug1: identity file /home/jsmith/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'wcmisdlin05' is known and matches the RSA host key.
debug1: Found key in /home/jsmith/.ssh/known_hosts:9
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_501' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_501' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Next authentication method: publickey
debug1: Offering public key: /home/jsmith/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/jsmith/.ssh/identity
debug1: Trying private key: /home/jsmith/.ssh/id_dsa
debug1: Next authentication method: password

Alguém pode me dizer por que não está funcionando neste computador remoto?

    
por JMS1969SF 09.01.2013 / 15:24

7 respostas

13

Eu sempre encontrei um bug similar em máquinas CentOS 6 envolvendo ssh-copy-id e SELinux.

Quando ssh-copy-id cria os arquivos de chaves autorizados, ele os cria com as devidas permissões, mas com o rótulo errado do SELinux. A correção para isso é restaurar os rótulos para seus padrões de política usando este comando:

restorecon -R ~/.ssh

    
por 09.01.2013 / 15:41
11

Essas coisas são sempre muito mais fáceis de serem depuradas do lado do servidor, se isso for possível. Se você puder iniciar um sshd em outra porta no modo de depuração, ele dirá a você imediatamente porque a chave está sendo rejeitada (meu palpite é que seu diretório pessoal é gravável em grupo). Você pode, por exemplo, iniciar um sshd no modo de depuração na porta 2222 com /usr/sbin/sshd -d -p 2222 e, em seguida, conectar-se com ssh -p 2222 user@remotehost .

    
por 09.01.2013 / 15:42
2

O pôster que se referiu ao SELINUX acertou na cabeça pelo meu problema, eu não quero usar o selinux, mas tinha esquecido de desativá-lo, e o servidor veio com o selinux ativado na inicialização.

ssh -v Debug ajudou. A chave é aceita:

debug1: Found key in /var/lib/amanda/.ssh/known_hosts:19
debug1: ssh_rsa_verify: signature correct

E então recebo o erro

debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

Minha correção foi desligar o selinux com setenforce 0 e desabilitar em / etc / selinux. Então o login sem senha do ssh funcionou para mim.

    
por 04.02.2016 / 17:29
1

Eu experimentei isso há algum tempo atrás no RHEL5 (eu não sei se esta é a distro que você está usando), e descobri que era somente quando eu usava o ssh-copy-id. Tente scp'ing o arquivo de chave para a pasta correta e, claro, redefinindo as permissões

    
por 09.01.2013 / 15:31
0

No meu caso, o problema estava no formato incorreto do arquivo authorized_keys .

Deve existir no newline entre a definição do formato ( ssh-rss , ssh-dss , ..) e a própria chave pública.

    
por 29.11.2018 / 16:42
-1

debug1: Offering public key: /home/jsmith/.ssh/id_rsa

...

debug1: Trying private key: /home/jsmith/.ssh/id_dsa

Parece-me que a chave privada / pública simplesmente não corresponde. Os nomes das chaves nos dizem que a chave pública é chave RSA e a chave privada é DSA.

Tente gerar um novo par e scp chave pública para o servidor.

    
por 09.01.2013 / 15:35
-2

Eu recomendo verificar as autoridades no diretório home do ./ssh e do usuário, no arquivo de chave e no arquivo authorized_keys, já que ninguém mais deve ter permissão para escrever e ler lá se você quiser que a conexão ssh sem senha funcione. Isso diz respeito às máquinas de origem e de destino. Para ser honesto, às vezes funciona mesmo que haja direitos maiores, mas não deveria.

    
por 15.05.2015 / 13:06