He estado utilizando la autenticación de clave pública en mis servidores durante un tiempo, pero estoy experimentando problemas con un nuevo 'cliente' que intenta conectarse a github . 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 está pidiendo mi frase de contraseña a pesar de que no configuré una frase de contraseña. Incluso he vuelto a hacer la clave para estar 100% seguro de que no ingresé una frase de contraseña.
ssh -vvv proporciona 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 averiguar por qué me dice que PEM_read_PrivateKey falló, pero no puedo encontrar una solución.
No uso un agente ni nada. Configuro mi archivo ~ / .ssh / config similar al siguiente:
Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub
Gracias por adelantado.
fuente
Respuestas:
Cuando usa la
IdentityFile
opción en su~/.ssh/config
apunte a la clave privada, no a la pública .De
man ssh_config
:Entonces, su
~/.ssh/config
entrada debería verse así:fuente
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 información de error o depuración ni nada que sugiriera que la clave tenía una longitud incorrecta o un formato incorrecto, pero ssh solicitó una frase de contraseña.fuente
En mi caso, el problema era que mi cliente SSH no admite claves ED25519. La solución es crear una clave RSA y usarla en su lugar.
Este problema ocurre con OpenSSH <6.5 (ejecución
ssh -V
) y PuTTY <0.68 .Esto se puede ver en la siguiente salida de
ssh -vvv
:El 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.
fuente
En mi equipo, cuando esto sucede, no es un problema con nada localmente. La clave y / o acceso ssh del usuario no se ha configurado correctamente en el servidor al que se está conectando (en nuestro caso, una plataforma de alojamiento). Por alguna razón, esto desencadena una solicitud de una clave ssh inexistente.
fuente