Eu estou tentando ssh duas máquinas e preferiria usar chaves geradas para autenticação em vez de senha. Isso me permitirá automatizar o encaminhamento de porta e muitas outras coisas.
Nota: Meu servidor é debian.
Abaixo está o que eu fiz.
Eu gerou a chave:
ssh-keygen -t dsa
Copiei o id_dsa.pub para o ~ / .ssh do servidor remoto
- ssh-add -D para apagar chaves antigas. Gues eu não precisava deles
ssh-add ~ / .ssh / id_dsa para adicionar o id privado 5. tentou conectar-se ao servidor externo como
ssh root @ remote-ip
- Ainda resolvi a senha mesmo depois de minha aceitação ser adicionada em hosts conhecidos.
- Tentei ssh -vvv root @ remote-ip e log obter é postado abaixo.
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 set 2011 debug1: Lendo dados de configuração / etc / ssh / ssh_config debug1: Aplicando opções para * debug2: ssh_connect: needpriv 0 debug1: Conectando a 184.154.191.58 [184.154.191.58] porta 18765. debug1: conexão estabelecida. debug1: arquivo de identidade /home/eclipse/.ssh/id_rsa type -1 debug1: arquivo de identidade /home/eclipse/.ssh/id_rsa-cert type -1 debug1: arquivo de identidade /home/eclipse/.ssh/id_dsa type 2 debug1: Verificando o arquivo da lista negra /usr/share/ssh/blacklist.DSA-1024 debug1: Verificando o arquivo da lista negra /etc/ssh/blacklist.DSA-1024 debug1: arquivo de identidade /home/eclipse/.ssh/id_dsa-cert type -1 debug1: arquivo de identidade /home/eclipse/.ssh/id_ecdsa type -1 debug1: arquivo de identidade /home/eclipse/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol version 2.0, versão de software remoto OpenSSH_4.3 debug1: match: OpenSSH_4.3 pat OpenSSH_4 * debug1: Ativando o modo de compatibilidade para o protocolo 2.0 debug1: string de versão local SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1 debug2: fd 3 definindo O_NONBLOCK debug3: put_host_port: [184.154.191.58]: 18765 debug3: load_hostkeys: carregando entradas para o host "[184.154.191.58]: 18765" do arquivo "/home/eclipse/.ssh/known_hosts" debug3: load_hostkeys: encontrou o tipo de chave RSA no arquivo /home/eclipse/.ssh/known_hosts:3 debug3: load_hostkeys: carregado 1 chaves debug3: order_hostkeyalgs: prefira hostkeyalgs: ssh-rsa-cert-v01 @ openssh.com, ssh-rsa-cert-v00 @ openssh.com, ssh-rsa debug1: SSH2_MSG_KEXINIT enviado debug1: SSH2_MSG_KEXINIT recebido debug2: kex_parse_kexinit: ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa-cert-v01 @ openssh.com, ssh-rsa-cert-v00 @ openssh.com, ssh-rsa, ecsa-sha2-nistp256-cert-v01 @ openssh.com, ecdsa-sha2- nistp384-cert-v01 @ openssh.com, ecssa-sha2-nistp521-cert-v01 @ openssh.com, ssh-dss-cert-v01 @ openssh.com, ssh-dss-cert-v00 @ openssh.com, ecdsa- sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-dss debug2: kex_parse_kexinit: aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc @ lysator.liu.se debug2: kex_parse_kexinit: aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc @ lysator.liu.se debug2: kex_parse_kexinit: hmac-md5, hmac-sha1, umac-64 @ openssh.com, hmac-ripemd160, hmac-ripemd160 @ openssh.com, hmac-sha1-96, hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5, hmac-sha1, umac-64 @ openssh.com, hmac-ripemd160, hmac-ripemd160 @ openssh.com, hmac-sha1-96, hmac-md5-96 debug2: kex_parse_kexinit: nenhum, zlib @ openssh.com, zlib debug2: kex_parse_kexinit: nenhum, zlib @ openssh.com, zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reservado 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa, ssh-dss debug2: kex_parse_kexinit: aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc @ lysator.liu.se debug2: kex_parse_kexinit: aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc @ lysator.liu.se debug2: kex_parse_kexinit: hmac-md5, hmac-sha1, hmac-ripemd160, hmac-ripemd160 @ openssh.com, hmac-sha1-96, hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5, hmac-sha1, hmac-ripemd160, hmac-ripemd160 @ openssh.com, hmac-sha1-96, hmac-md5-96 debug2: kex_parse_kexinit: nenhum debug2: kex_parse_kexinit: nenhum debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reservado 0 debug2: mac_setup: encontrado hmac-md5 debug1: kex: servidor-> cliente aes128-ctr hmac-md5 nenhum debug2: mac_setup: encontrado hmac-md5 debug1: kex: cliente-> servidor aes128-ctr hmac-md5 nenhum debug1: SSH2_MSG_KEX_DH_GEX_REQUEST (1024-1024-8192) enviado debug1: esperando SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: conjunto de bits da chave privada: 125/256 debug2: conjunto de bits: 518/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT enviado debug1: esperando SSH2_MSG_KEX_DH_GEX_REPLY debug1: Chave de host do servidor: RSA 5d: ce: fb: 75: de: 6f: 52: f9: anúncio: 41: e3: 92: 9a: 53: ee: f0 debug3: put_host_port: [184.154.191.58]: 18765 debug3: put_host_port: [184.154.191.58]: 18765 debug3: load_hostkeys: carregando entradas para o host "[184.154.191.58]: 18765" do arquivo "/home/eclipse/.ssh/known_hosts" debug3: load_hostkeys: encontrou o tipo de chave RSA no arquivo /home/eclipse/.ssh/known_hosts:3 debug3: load_hostkeys: carregado 1 chaves debug3: load_hostkeys: carregando entradas para o host "[184.154.191.58]: 18765" do arquivo "/home/eclipse/.ssh/known_hosts" debug3: load_hostkeys: encontrou o tipo de chave RSA no arquivo /home/eclipse/.ssh/known_hosts:3 debug3: load_hostkeys: carregado 1 chaves debug1: Host '[184.154.191.58]: 18765' é conhecido e corresponde à chave do host RSA. debug1: chave encontrada em /home/eclipse/.ssh/known_hosts:3 debug2: conjunto de bits: 514/1024 debug1: ssh_rsa_verify: assinatura correta debug2: kex_derive_keys debug2: set_newkeys: modo 1 debug1: SSH2_MSG_NEWKEYS enviado debug1: esperando SSH2_MSG_NEWKEYS debug2: set_newkeys: modo 0 debug1: SSH2_MSG_NEWKEYS recebido debug1: Roaming não permitido pelo servidor debug1: SSH2_MSG_SERVICE_REQUEST enviado debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT recebido debug2: key: /home/eclipse/.ssh/id_rsa ((nil)) debug2: key: /home/eclipse/.ssh/id_dsa (0x21b20e18) debug2: key: /home/eclipse/.ssh/id_ecdsa ((nil)) debug1: Autenticações que podem continuar: senha, teclado interativo debug3: começar de novo, passou uma senha de lista diferente, teclado interativo debug3: gssapi-keyex preferido, gssapi-com-mic, publickey, teclado interativo, senha debug3: authmethod_lookup keyboard-interactive debug3: restante preferido: senha debug3: authmethod_is_enabled teclado interativo debug1: Próximo método de autenticação: keyboard-interactive debug2: userauth_kbdint debug2: enviamos um pacote interativo ao teclado, aguardar resposta debug2: input_userauth_info_req debug2: input_userauth_info_req: num_prompts 1 Senha:
Por favor alguém ajude.
Passei muito tempo depurando a autenticação ssh de chave pública sem senha ao longo dos anos, então queria postar algumas sugestões para outras pessoas que aparecem:
Executar ssh do cliente com "-v", "-vv" ou "-vvv" me deu muita saída, mas NUNCA me disse qual configuração está errada na máquina remota. É provavelmente para evitar que o mal h4x0rs receba muita informação ou algo parecido.
Se você tiver acesso físico (não-ssh) à máquina remota, poderá tentar parar o serviço sshd e executar manualmente o sshd com o sinalizador "-d" para gerar informações de depuração no console.
Configurar a autenticação sem senha para o root é um grande não-não-segurança, mas se você ainda quiser fazê-lo, tente configurar um usuário não-root primeiro. Então, se você tiver problemas para habilitá-lo para o root, você saberá que uma configuração específica para contas root / sysadmin é responsável.
Verifique se o SELinux está ativado. Se for, pode estar interferindo. Especialmente se você estiver tentando configurar a autenticação sem senha para uma conta de superusuário.
Espero que isso ajude a poupar horas de tempo frustrante para a solução de problemas que o ssh tem infligido ao resto de nós.
fonte
$ chown -R username:username ~/.ssh
?OpenSSH é muito anal sobre as permissões de arquivo. Certifique-se de que
/root/.ssh
tudo nele pertence ao usuário correto e só pode ser lido e gravado pelo proprietário.Se isso ainda não funcionar, cole o conteúdo
/var/log/auth.log
e, possivelmente,/var/log/syslog
no servidor ao tentar fazer o login.fonte
experimentar
você será solicitado uma vez para a senha do usuário remoto, digite isso, e você deve estar no servidor remoto, faça logout e ssh de volta. nenhuma senha é necessária.
* também, verifique as permissões do arquivo conforme mencionado em outras respostas.
espero que ajude
fonte