SSH solicitando senha na chave pública sem senha definida

SSH solicitando senha na chave pública sem senha definida

Já faz algum tempo que uso autenticação de chave pública em meus servidores, mas estou enfrentando problemas em um novo 'cliente' tentando se conectarGitHub. Li muitos tópicos para verificar se minhas permissões estão configuradas corretamente e gerei uma nova chave para o github. O problema que estou enfrentando é que o ssh está solicitando minha senha, embora eu não tenha definido uma senha. Até refiz a chave para ter 100% de certeza de que não digitei uma senha.

ssh -vvvfornece a seguinte saída relacionada:

debug1: Offering public key: /home/me/.ssh/github.pub
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Remote: Forced command: gerve mygithubusername c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug3: sign_and_send_pubkey
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/me/.ssh/github.pub': 

Eu procurei descobrir por que isso está me dizendoPEM_read_PrivateKeyfalhou, mas não consigo encontrar uma solução.

Eu não uso agente nem nada. Eu configuro meu arquivo ~/.ssh/config semelhante ao seguinte:

Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub

Desde já, obrigado.

Responder1

Ao usar a IdentityFileopção você ~/.ssh/configaponta para o privado,não o público, chave.

De man ssh_config:

Arquivo de identidade
Especifica um arquivo do qual a identidade de autenticação DSA, ECDSA ou DSA do usuário é lida. O padrão é ~/.ssh/identity para a versão 1 do protocolo e ~/.ssh/id_dsa, ~/.ssh/id_ecdsa e ~/.ssh/id_rsa para a versão 2 do protocolo.

Portanto, sua ~/.ssh/configentrada deve ser semelhante a:

Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github

Responder2

Tivemos esse problema e foi um erro de recortar e colar. Um único %símbolo foi adicionado ao final do arquivo-chave (então a última linha foi -----END RSA PRIVATE KEY-----%). Não houve erro ou informação de depuração ou qualquer outra coisa que sugerisse que a chave tinha o comprimento errado ou estava mal formatada, mas o ssh solicitou uma senha.

Responder3

No meu caso, o problema era que meu cliente SSH não suporta chaves ED25519. A solução é criar uma chave RSA e usá-la.

Este problema ocorre comOpenSSH <6,5(correr ssh -V) eMassa <0,68.

Isso pode ser visto na seguinte saída de ssh -vvv:

debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,[email protected]
debug2: kex_parse_kexinit: hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: [email protected],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,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]

Oo primeiro bloco descreve o que o cliente suporta e o segundo o que o servidor suporta. Como você pode ver, não há menção a ‘curve25519’ na metade superior, indicando que o cliente não suporta isso.

Responder4

Na minha equipe, quando isso acontece, não há problema com nada localmente. A chave SSH e/ou o acesso do usuário não foram configurados corretamente no servidor ao qual ele está se conectando (no nosso caso, uma plataforma de hospedagem). Por alguma razão, isso aciona um prompt para uma chave ssh inexistente.

informação relacionada