Soy nuevo en Rails y estaba tratando de implementar una aplicación muy simple en 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 ", aparece este error:
! Su clave con huella digital xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx: xx no está autorizado para> acceder a my_heroku_app.
fatal: el extremo remoto colgó inesperadamente
Intenté administrar mis claves después de iniciar sesión en heroku. Si escribo en mi consola " heroku keys ", entonces obtengo:
No hay claves para mi dirección.
Sin embargo, si ejecuto el comando " heroku keys: add " obtengo
Clave pública existente encontrada: /Users/michele/.ssh/id_rsa.pub ¡Carga de clave pública ssh /Users/michele/.ssh/id_rsa.pub! La huella digital ya existe. Utilice una clave ssh por cuenta de Heroku
¡Por favor, ayúdame! Esto es muy frustrante, ¡no tengo idea de lo que está mal! Gracias

heroku logout, inicié sesión en la otra cuenta y eliminé la clave RSA predeterminada de esa cuenta. Después de eso pude presionar con esta clave recién generada.ssh-add ~/.ssh/id_rsa_herokuaunque el mío fuessh-add ~/.ssh/identity.heroku.fooporque también estoy usando https://github.com/ddollar/heroku-accounts (un administrador de cuentas múltiples para Heroku).Yo también tengo múltiples claves y múltiples cuentas heroku, así que me encuentro con este problema cada pocos meses. Como se mencionó a Giordano Scalzo, Tom Carchrae y user664833, el problema principal es ssh-agent, que usted controla mediante el
ssh-addcomando. La página man (man ssh-add) es bastante clara y concisa, así que échale un vistazo.Puede enumerar todas las claves que conoce ssh-agent con:
Puede eliminar todas las claves que ssh-agent conoce con:
O elimine una clave específica con
No te preocupes En realidad, no está eliminando las claves, solo cambiando las que ssh-agent intenta usar automáticamente, por ejemplo, cuando intenta empujar 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.
fuente
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 la misma computadora, debe hacer una nueva clave SSH en su máquina y cargarla en Heroku:
Asegúrese de guardarlo como '/Users/User/.ssh/new_id_rsa.pub' cuando el mensaje le pregunte.
Luego debe agregar un host alternativo para
heroku.comsu~/.ssh/config:Y luego actualice el
.git/configen su proyecto para usar el alias de host:Al elegir entre
herokuyheroku-alten el control remoto de los.git/configarchivos de proyectos específicos, puede administrar qué proyectos usan qué credenciales.fuente
Host heroku-alt not found: 3(NXDOMAIN). Estoy poniendo esto en la terminal de Mountain Lion.~/.ssh/configtampoco existe, solo un montón de.pubarchivos y uno llamadoknown_hosts. ¿Y las ideas?Host,HostNamey lasIdentityFilelíneas. Entonces debería funcionar bien.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 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
Esto parece permitirle realizar operaciones básicas usando
herokuLa segunda forma en que heroku te 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
Por lo tanto, cada cuenta de heroku en la que trabaje tendrá que enviar una clave diferente a heroku cuando use ssh. Sigue cualquier tutorial para crear tus claves ssh.
La clave es hacer que SSH use diferentes claves para cada cuenta de Heroku. ¿Cómo se configura esto? Tendrás que hacer 2 cosas:
1) Tendrá que crear un dominio 'ficticio' que su .ssh / config interceptará y reconfigurará. Esto le dirá a ssh el dominio 'real' que desea y qué clave ssh especial usar.
2) Cambie su .git / config para usar eso cuando use git push. En lugar de heroku.com, use el dominio ficticio que configuró en su .ssh / config
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 probar y error descubrir esta información. Debería estar claramente documentado en alguna parte, pero al menos es un comienzo.
fuente
necesitará crear nuevas claves y agregarlas
especificar un nuevo nombre de archivo después de ejecutar
entonces (en mi caso)
fuente
Tengo el mismo problema la semana pasada. Este enlace me ayudó. Espero que te ayude un poco. http://devcenter.heroku.com/articles/keys
fuente
En mi caso,
heroku keysya tenía la clave correcta en la lista. Entonces, todo lo que tenía que hacer era correrssh-add /path/to/that/keyy luego todo comenzó a funcionar bien.fuente
También tengo dos cuentas de Heorku y, como solución alternativa, "invité" a mi cuenta principal (la que Heroku usa automáticamente la clave) como colaboradora de mi proyecto.
fuente
Solo quiero agregar la solución para usuarios de Windows.
Primera descarga "Generador de Putty Key"
Cree una clave con el OBS que necesita para mover el mouse sobre el área en blanco para generar aleatoriedad.
Guarde sus claves, solo recuerde cambiar el nombre de su clave a [nombre] .pub
¡Corre
heroku keys:adden la terminal!fuente
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í.
fuente