git push heroku master Permiso denegado (key pública). fatal: el extremo remoto colgó inesperadamente

Disculpe un poco la frustración, que intentaré mantener bajo control ya que Heroku está utilizando SO como su service de atención al cliente (lo cual creo que es de mala calidad por decir lo less).

Durante las últimas cinco horas he estado tratando de get una aplicación para publicar, pero invariablemente algo falla con las keys. He leído docenas de artículos y he intentado punta a punta en un esfuerzo por descubrir dónde, en el estúpido process completamente opaco que Heroku está jodiendo.

Mi caso de uso no es tan difícil: he creado un nuevo par de llaves para mis aplicaciones heroku. He establecido esa key para ser mi key:

> heroku keys === travis@xxxx.com Keys ssh-rsa AAAAB3NzaC...avOqfA7ZBd travis@xxxx.com 

Puedo iniciar session y "crear" una aplicación (nombre estúpido, ya que parece estar creando un repository git, no cualquier tipo de aplicación) sin problemas. Pero cada vez * maldita * vez que bash impulsar mi aplicación, obtengo:

  > git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly 

No tengo idea de que la WTF continúe con eso; Solo estoy pegado golpeándome la cabeza contra un keyboard sin más recurso que esperar que el dios todopoderoso de Google pueda responderlo. Y Google no lo está respondiendo (bueno, déjame retirar eso, he visto una docena de forms de responder esto).

Para un sistema que se supone que es fácil, esto es una broma. Me gusta la idea de Heroku, pero después de tomar cinco nuestros para hacer absolutamente nada , estoy pensando que tal vez sea la elección incorrecta.

Hay una variedad de soluciones en la web. Intentaré condensar las opciones disponibles en una publicación. Intente nuevamente su connection después de cada paso.

  • Paso 1: Intenta agregar tu key pública a Heroku

     heroku keys:add ~/.ssh/id_rsa.pub // or just heroku keys:add and it will prompt you to pick one of your keys 
  • Paso 2: Genere un nuevo set de keys SSH, luego intente el primer paso nuevamente

    https://help.github.com/articles/generating-ssh-keys

  • Paso 3: verifica y / o modifica tu file de configuration

     vim ~/.ssh/config Host heroku.com Hostname heroku.com Port 22 IdentitiesOnly yes IdentityFile ~/.ssh/id_rsa <--- Should be your public SSH key TCPKeepAlive yes User jsmith@gmail.com 
  • Paso 4: elimine el control remoto heroku de git, recree la connection y agregue el control remoto a través de heroku crear solo será una opción para nuevos repositorys. Asegúrese de eliminar su repo antiguo que originalmente intentó crear

      $ git remote rm heroku $ heroku create 
  • Paso 5: reinstalar Heroku Toolkit

Tu key heroku y tus keys github no están sincronizadas.

  • Determine qué tecla desea usar (recomiende crear una nueva, es decir, heroku_rsa).

  • Agrega la key a github.

  • Agregue la misma key a heroku usando: heroku keys:add

Me he encontrado con el mismo problema, y ​​esta es mi teoría sobre lo que está pasando:

Me suscribí a Heroku hace mucho time, dándoles mi key pública github. Cuando bash el habitual git push heroku master , va y busca mi key privada, que se encuentra en ~/.ssh/github_rsa . Luego falla silenciosamente con el post que publicaste.

Sin embargo, intenté posteriormente ssh a otro server utilizando el -i para especificar mi "file de identidad" (es decir, key privada), y me solicitó la contraseña de mi key privada. Al haber "desbloqueado" la key privada, funciona el command git push heroku master . Algunas conclusiones:

  • Mientras ssh le pedirá la contraseña para un file de identidad, git no lo hará.
  • Si desbloqueas el file de identidad con otro método, como ssh , permanecerá desbloqueado para tu uso de git .
  • No parece haber ninguna documentation sobre cómo eliminar permanentemente la protección con contraseña en un file de identidad, incluso con la keytool command del command común Unix.
  • Las soluciones anteriores para crear un nuevo par de keys pública / privada parecen ser una solución para este problema de contraseña, sin saber cuál es el problema.

Permiso denegado (key pública) al implementar código heroku. fatal: el extremo remoto colgó inesperadamente

Creo que esto podría tener tu solución, al less me sirvió

Conmigo, parecía que el problema era que tenía ssh-agent ejecutándose en segundo plano y no se había agregado la key privada correspondiente.

 ps -afe | grep ssh-agent ssh-add ~/.ssh/id_rsa_heroku_github 

También tuve que agregar la key pública a github (manualmente) y heroku

 heroku keys:add ~/.ssh/id_rsa_heroku_github.pub 

Si ninguna de las otras soluciones funciona para usted, asegúrese de haber iniciado session en linux shell con su count y no con la count raíz .

De esta forma, si está ejecutando con el usuario que no es el propietario de sus keys ssh, git searchá las keys incorrectas para autenticarse