not fatal does create cli appear git heroku ssh git-push

git - fatal - heroku login



No puedo presionar a Heroku porque la huella dactilar clave (10)

Soy nuevo en Rails y estaba intentando implementar una aplicación muy simple para Heroku. Esta es la segunda aplicación que implemento, y la primera que pude hacerlo bien. Sin embargo, estoy teniendo algunos problemas con este. Cada vez que " git push heroku master ", obtengo este error:

! Su clave con la huella digital xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx no tiene autorización para> acceder my_heroku_app.

fatal: el extremo remoto colgó inesperadamente

Intenté administrar mis llaves después de iniciar sesión en heroku. Si escribo en mi consola " claves heroku ", entonces obtengo:

No hay claves para la dirección de mi padre.

Sin embargo, si ejecuto el comando y " heroku keys: add " obtengo

Se encontró la clave pública existente: /Users/michele/.ssh/id_rsa.pub Carga de la clave pública ssh /Users/michele/.ssh/id_rsa.pub! La huella digital ya existe. Utilice una clave ssh por cuenta Heroku

¡Por favor, ayúdame! Esto es muy frustrante, ¡no tengo idea de qué pasa! Gracias


Aquí hay una explicación muy clara que falta de su documentación de Heroku u otras respuestas a la pregunta. Al menos toda la información no parece aparecer en ningún lugar. También le permite comprender el problema de una manera que la herramienta de cuentas no lo hace.

Heroku te identifica de 2 maneras:

El primero está en .git / config

[heroku] account = acccount_name

Esto parece permitirte realizar operaciones básicas usando heroku

La segunda forma en que Heroku lo identifica es mediante cualquier operación que use ssh (git push). Heroku lo identificará con su clave ssh, como se indica aquí: https://devcenter.heroku.com/articles/keys

Este par de llaves se usa para la criptografía fuerte y eso lo identifica de manera única como desarrollador al presionar cambios de código.

De modo que cada cuenta heroku en la que trabaje tendrá que enviar una clave diferente a heroku cuando use ssh. Siga cualquier tutorial para crear sus claves ssh.

La clave es hacer que SSH use diferentes claves para cada cuenta de Heroku. ¿Cómo se configura esto? Necesitarás hacer 2 cosas:

1) Deberá crear un dominio ''ficticio'' que su .ssh / config interceptará y reconfigurará. Esto le dirá a ssh el dominio ''real'' que desea, y qué tecla ssh especial usar.

Host heroku.my_unique_key HostName heroku.com IdentityFile ~/.ssh/identity.heroku.my_unique_key IdentitiesOnly yes

2) Cambie su .git / config para usarlo cuando use git push. En lugar de heroku.com, usa el dominio ficticio que configuraste en .ssh / config

[remote "heroku"] url = [email protected] [remote "heroku"] url = [email protected]_unique_key:myapp.git

Eso es todo :) Un poco complicado y un poco simple al mismo tiempo. Me ha llevado 3 años golpear mi cabeza contra la pared y prueba y error para descubrir esta información. Debería estar claramente documentado en alguna parte, pero al menos es un comienzo.


En mi caso, heroku keys ya tenían la clave correcta en la lista. Entonces, todo lo que tuve que hacer fue ejecutar ssh-add /path/to/that/key y luego todo comenzó a funcionar bien.


En mi caso, el problema era la versión ssh que estaba usando. Acabo de establecer la variable de entorno GIT_SSH en otra ("GIT_SSH = / usr / bin / ssh") y todo funcionó bien para mí.


Solo quiero agregar la solución para los usuarios de Windows.

  1. Primero descarga "Putty Key generator"

  2. Crea una clave con OBS. Debes mover el mouse sobre el área en blanco para generar aleatoriedad.

  3. Guarde sus llaves, solo recuerde cambiar el nombre de su llave a [nombre] .pub

  4. Ejecutar heroku keys:add en la terminal!


Su computadora tiene una clave SSH, pero esa clave SSH está asociada con otra cuenta Heroku.

Si necesita utilizar ambas cuentas para diferentes aplicaciones en la misma computadora, debe crear una nueva clave SSH en su máquina y cargarla en Heroku:

$ ssh-keygen

Asegúrese de guardarlo como ''/Users/User/.ssh/new_id_rsa.pub'' cuando el mensaje le pregunte.

$ heroku keys:add /Users/User/.ssh/new_id_rsa.pub

Luego necesita agregar un host alternativo para heroku.com a su ~/.ssh/config :

Host heroku-alt HostName heroku.com IdentityFile ~/.ssh/new_id_rsa

Y luego actualice .git/config en su proyecto para usar el alias de host:

[remote "heroku"] url = git@heroku-alt:myapp.git fetch = +refs/heads/*:refs/remotes/heroku/*

Al elegir entre heroku y heroku-alt en el control remoto de los archivos .git/config de proyectos específicos, puede administrar qué proyectos usan qué credenciales.


También tengo dos cuentas Heorku y, como solución alternativa, "invité" a mi cuenta principal (aquella cuya clave utiliza Heroku automáticamente) como colaboradora de mi proyecto.



Tuve el mismo problema, seguí este post y otros del mismo tipo sin éxito: - ((

Finalmente, encontré la solución: ¡tuve que agregar mi nueva identidad de rsa en mi máquina!

Entonces, antes que nada, creé una nueva clave rsa:

ssh-keygen -t rsa -C "giordano.scalzo[at]gmail.com" -f ~/.ssh/id_rsa_heroku

luego lo agregué a mi máquina

ssh-add ~/.ssh/id_rsa_heroku

y, finalmente, a Heroku

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

Después de esto,

git push heroku master

¡trabajado como un encanto!

Espero que esto ayude.


Yo también tengo varias llaves y múltiples cuentas heroku, así que me encuentro con este problema cada pocos meses. Como mencionan Giordano Scalzo, Tom Carchrae y usuario664833, el problema principal es ssh-agent, que se controla con el comando ssh-add . La página man ( man ssh-add ) es bastante clara y concisa, así que échale un vistazo.

Puede enumerar todas las claves con las que ssh-agent conoce:

ssh-add -l

Puede eliminar todas las claves con las que ssh-agent conoce:

ssh-add -D

O elimine una clave específica con

ssh-add -d ~/.ssh/id_rsa_example_key_file_use_your_own

¡No te preocupes! En realidad, no está borrando las claves, solo cambia las que ssh-agent intenta usar de manera automática, por ejemplo, cuando intenta ingresar a heroku. Es fácil agregar y eliminar claves según sea necesario, así que para mí, cuando me siento frustrado por este problema, la forma más fácil de solucionarlo es eliminar todas las claves y volver a agregar solo la que quiero usar en este momento.

ssh-add -D ssh-add ~/.ssh/id_rsa_example_use_this_one_i_mean_it


Youn necesitará crear nuevas claves y agregarlas

especifica un nuevo nombre de archivo después de ejecutar

ssh-keygen

entonces (en mi caso)

heroku keys:add /home/alex/.ssh/alex_heroku_rsa.pub