SSH solicita una frase de contraseña en una clave pública sin una frase de contraseña establecida

SSH solicita una frase de contraseña en una clave pública sin una frase de contraseña establecida

He estado usando la autenticación de clave pública en mis servidores desde hace un tiempo, pero tengo problemas con un nuevo 'cliente' que intenta conectarmegithub. He leído muchos hilos para verificar que mis permisos estén configurados correctamente y he generado una nueva clave para github. El problema al que me enfrento es que ssh me solicita mi contraseña aunque no la configuré. Incluso rehice la clave para estar 100% seguro de no haber ingresado una frase de contraseña.

ssh-vvvda el siguiente resultado relacionado:

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': 

He buscado para descubrir por qué me dicePEM_read_PrivateKeyfalló, pero no puedo encontrar una solución.

No uso un agente ni nada. Configuro mi archivo ~/.ssh/config de forma similar a lo siguiente:

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

Gracias de antemano.

Respuesta1

Cuando usas la IdentityFileopción en tu ~/.ssh/configapuntas a privado,no el publico, llave.

De man ssh_config:

Archivo de identidad
Especifica un archivo desde el cual se lee la identidad de autenticación DSA, ECDSA o DSA del usuario. El valor predeterminado es ~/.ssh/identity para la versión 1 del protocolo y ~/.ssh/id_dsa, ~/.ssh/id_ecdsa y ~/.ssh/id_rsa para la versión 2 del protocolo.

Entonces, tu ~/.ssh/configentrada debería verse así:

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

Respuesta2

Tuvimos este problema y fue un error de cortar y pegar. Se había agregado un solo %símbolo al final del archivo de clave (por lo que la última línea era -----END RSA PRIVATE KEY-----%). No hubo ningún error ni información de depuración ni nada más que sugiriera que la clave tenía la longitud incorrecta o estaba mal formateada, pero ssh solicitó una frase de contraseña.

Respuesta3

En mi caso, el problema fue que mi cliente SSH no admite claves ED25519. La solución es crear una clave RSA y utilizarla en su lugar.

Este problema ocurre conOpenSSH <6.5(correr ssh -V) yMasilla < 0,68.

Esto se puede ver en el siguiente resultado 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]

ElEl primer bloque describe lo que admite el cliente y el segundo lo que admite el servidor.. Como puede ver, no se menciona 'curve25519' en la mitad superior, lo que indica que el cliente no lo admite.

Respuesta4

En mi equipo, cuando esto sucede, no es un problema con nada local. La clave ssh y/o el acceso del usuario no se han configurado correctamente en el servidor al que se está conectando (en nuestro caso una plataforma de hosting). Por alguna razón, esto activa un mensaje para una clave ssh inexistente.

información relacionada