No se puede empujar a Heroku porque la huella dactilar clave


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

! Su clave con la huella dactilar xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx no está autorizado a >acceso my_heroku_app.

Fatal: El extremo remoto se colgó inesperadamente

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

No hay claves para myemailaddress.

Sin embargo, si corro el comando "heroku keys: add " Obtengo

Se ha encontrado la clave pública existente: /Users/michele/.ssh / id_rsa.pub Cargando clave pública ssh / Users / michele/.ssh / id_rsa.pub ! La huella digital ya existe. Por favor, utilice una clave ssh por Heroku cuenta

Por favor, ayúdame! Esto es Soo frustating, no tengo idea de lo que está mal! Gracias

Author: Community, 2012-01-09

10 answers

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

Finalmente, encontré la solución: Tuve que añadir mi nueva identidad rsa en mi máquina!

Así que, en primer lugar he creado 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 eso,

git push heroku master

Funcionó como un encanto!

Espero que esto ayude.

 286
Author: Giordano Scalzo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-01 12:04:09

Yo también tengo varias claves y varias cuentas heroku, así que me encuentro con este problema cada pocos meses. Como se mencionó Giordano Scalzo, Tom Carchrae y user664833, el principal problema es ssh-agent, que se controla mediante el comando ssh-add. La página de manual (man ssh-add) es bastante clara y concisa, así que échale un vistazo.

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

ssh-add -l

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

ssh-add -D

O eliminar 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 cambiando las que ssh-agent intenta usar automáticamente, por ejemplo, cuando intenta enviar a heroku. Es fácil agregar y eliminar claves según sea necesario, por lo 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
 61
Author: towynlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-17 21:48:25

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

Si necesita usar ambas cuentas para diferentes aplicaciones en el mismo equipo, debe crear una nueva clave SSH en su máquina y subirla a Heroku:

$ ssh-keygen

Asegúrese de guardarlo como '/Users/User/.ssh / new_id_rsa.pub ' cuando el mensaje te 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 actualizar el .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 remoto de los archivos .git/config de proyectos específicos, puede administrar qué proyectos usan qué credenciales.

 38
Author: Daniel X Moore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-22 19:28:13

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

Heroku te identifica de 2 maneras:

El primero está dentro .git / config

[heroku]
    account = acccount_name

Esto parece permitirle realizar operaciones básicas usando heroku

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

Este par de claves se utiliza para la criptografía fuerte y que de forma única te identifica como desarrollador cuando envías cambios de código.

Así que cada cuenta de 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 conseguir que SSH use diferentes claves para cada cuenta de Heroku. ¿Cómo se configura esto? Tendrás que hacer 2 cosas:

1) Necesitarás hacer un dominio' ficticio ' que tu .ssh / config interceptará y reconfigurará. Esto le indicará a ssh el dominio' real ' que desea, y qué clave especial de ssh usar.

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

2) Cambie su .git / config para usar eso cuando se usa git push. En lugar de heroku.com, utilice el dominio ficticio que estableció en su .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 en al mismo tiempo. Me ha tomado 3 años de golpear mi cabeza contra la pared y ensayo y error para descubrir esta información. Debería estar claramente documentado en alguna parte, pero al menos es un comienzo.

 14
Author: pixelearth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-15 18:39:31

Deberá crear nuevas claves y agregarlas

Especifique 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
 9
Author: alemur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-10 12:13:44

Tengo el mismo número la semana pasada. Esto vinculado me ayudó. Espero que te ayude un poco. http://devcenter.heroku.com/articles/keys

 3
Author: Benjamin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-09 09:58:55

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

 3
Author: M. Scott Ford,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-29 13:36:31

También tengo dos cuentas Heorku y como solución alternativa "invité" a mi cuenta principal (la cuya clave es utilizada automáticamente por Heroku) como colaborador de mi proyecto.

 2
Author: Fabio CR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-17 17:55:54

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

  1. Descargar "Masilla generador de Claves"

  2. Crear una clave con ella OBS que necesita para mover el ratón ower el área en blanco para generar aleatoriedad.

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

  4. Ejecutar {[0] } en terminal!

 1
Author: Rails beginner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-02 13:19:49

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

 0
Author: gfhuertac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-08 22:33:58