Tengo problemas al trabajar con varias cuentas de Heroku en mi computadora.
La cuestión es que ha funcionado muy bien antes al cambiar de cuenta con la gema heroku. Pero ahora (aunque he generado nuevas claves SSH) no funcionará.
Cuando hago un git push heroku master
solo dice:
[email protected] no tiene autorización para acceder a my_app_name
¿Alguien tiene algún consejo sobre cómo podría resolver esto?
Respuestas:
Debe asegurarse de que está utilizando la clave ssh correcta.
La forma de hacer esto (y la forma en que el complemento de cuentas de heroku le solicita) es agregar una sección a su archivo de configuración ssh en ~ / .ssh / config. Por ejemplo, para mi cuenta de heroku de trabajo tengo esto en mi configuración ssh:
Ahora, y esto es crucial, debes asegurarte de que tu control remoto git esté configurado para usar ese mismo host con nombre . En este caso es heroku.work . Normalmente sería heroku.com si estuvieras usando heroku con una sola cuenta.
Por lo tanto, deberá editar el control remoto de git (puede hacerlo en el
.git/config
archivo de su repositorio en su máquina). Cambie el archivo para que se vea así:Tenga en cuenta el heroku. trabajo , no heroku. com y reemplace <appname> con el nombre de su aplicación (también conocido como el nombre de su repositorio) en heroku.
fuente
.ssh/config
hacerlo así seheroku.work
resuelveheroku.com
Resolví esto usando el complemento heroku-accounts
ver aquí las instrucciones
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
fuente
Tienes que ser aceptado como colaborador en el proyecto que no te pertenece.
Funciona así (usando git):
Y eso debería ser toda la gente; solo tiene que presionar el otro control remoto al implementar en la otra aplicación.
fuente
Agregaría un par de cosas sobre el complemento heroku-accounts ... este ejemplo asume que su cuenta heroku preexistente será heroku.work y está agregando una nueva cuenta heroku.personal.
También describe cómo mover una aplicación de una a otra, por ejemplo, si ha alcanzado su máximo de 25 aplicaciones y está creando una nueva cuenta y desea mover algunos de sus proyectos paralelos y aplicaciones experimentales fuera de su cuenta principal.
heroku accounts:set personal
) hasta después de transferir la aplicación usando el comandosharing
heroku como se describe https://devcenter.heroku.com/articles/transferring-appsEntonces, los pasos que probablemente necesite son:
heroku accounts:add work --auto
para crear una nueva cuenta heroku.work para reemplazar su antigua cuenta predeterminada (así que use las mismas credenciales que ha estado usando todo el tiempo). TAMBIÉN necesitas subir tu nueva clave a heroku:heroku keys:add ~/.ssh/identity.heroku.work.pub
heroku accounts:add personal --auto
para crear una nueva cuenta heroku.personal (por ejemplo, use sus nuevas credenciales para su nueva cuenta heroku). TAMBIÉN necesitas subir tu nueva clave a heroku:heroku keys:add ~/.ssh/identity.heroku.personal.pub
heroku accounts:set work
(todo lo que hace es configurar git para usar su heroku.work, que es (en este ejemplo) la misma cuenta de heroku que ha estado usando todo el tiempo, solo que ahora se llama heroku. trabajo.heroku sharing:add <new owner email>
(b) en su directorio local, cambie la aplicación a heroku.personal usandoheroku accounts:set personal
(c) transfer ** la aplicación de la cuenta anterior a la cuenta nueva usando yheroku sharing:transfer <new owner email>
luego (d) elimine la dirección de correo electrónico anterior del colaborador (si lo desea) usandoheroku sharing:remove <old owner email>
** Tenga en cuenta que el enlace de heroku que proporcioné dice que hay requisitos especiales para mover una aplicación con cualquier recurso pagado. Por lo general, elimine los recursos pagados, luego agréguelos más tarde o pídale al soporte que lo haga.
fuente
El complemento de Heroku https://github.com/ddollar/heroku-accounts ha quedado obsoleto. Heroku ahora mantiene el suyo en https://github.com/heroku/heroku-accounts . Desafortunadamente, no parece almacenar proyecto por proyecto qué cuenta debería usar, por lo que debe ejecutar
cada vez que desee utilizar la herramienta de línea de comandos de Heroku.
Solución rápida para personas con acceso al shell bash: cree un directorio bin local (ya está allí en las aplicaciones Rails) y cree bin / heroku allí. Contenido:
(reemplace "project_name" según corresponda) Luego ejecute
$ chmod + x bin / heroku
Entonces puedes correr
$ bin / heroku ejecutar la consola
y utilizará automáticamente la cuenta de Heroku adecuada para usted. Mejor aún es agregar ./bin a su ruta para que vuelva a ejecutar:
$ heroku ejecutar consola
fuente
Comencé a usar el complemento heroku-accounts, pero luego me di cuenta de que mi amigo podía convertirme en colaborador de su cuenta heroku y eso era todo lo que necesitaba.
fuente
Para que esto funcione para mí tanto con Git como con la consola de Heroku, tuve que agregar crear la configuración ssh según las instrucciones de bantic, pero también tuve que crear dos controles remotos para mi configuración .git:
fuente
Esto me ha estado molestando por un tiempo y nunca encontré una solución que me gustara. Finalmente encontré uno.
(Respuesta específica de OS X).
Simplemente puede crear nuevos usuarios. Vaya a Preferencias del sistema -> Usuarios y grupos -> Botón Agregar usuario o grupo. Puede crear algunos usuarios para diferentes cuentas de heroku, acabo de nombrar el mío user1, user2, etc.
Luego vaya a Preferencias del sistema -> Compartir -> Inicio de sesión remoto -> Permitir acceso para: Todos los usuarios
En este punto, puede ir a una terminal y hacer lo siguiente:
Entonces puedes hacer cosas como esta:
fuente
Usé nano .git / config y luego reemplacé el valor de la URL del "heroku" remoto con heroku.com> aplicaciones> configuración> Revelar variables de configuración> URL de Heroku Git
fuente
Tengo exactamente el mismo problema.
Esta no es la respuesta, pero una solución temporal es agregar su correo electrónico heroku "estándar" como colaborador a la aplicación a la que no puede acceder.
fuente
estoy usando win7
1) cree otra cuenta de usuario en win7 e inicie sesión en ella
2) abre git bash e inicia sesión en tu nueva cuenta heroku
3) cree y cargue una nueva clave RSA (instrucciones aquí: https://devcenter.heroku.com/articles/keys )
4) luego haz lo que quieras (crea una nueva aplicación, envía un archivo a ella ...)
5) cada vez que necesite trabajar con su cuenta heroku original, simplemente inicie sesión en su cuenta de usuario win original y trabaje con heroku
fuente
cree una nueva clave pública / privada para un nuevo correo electrónico de la siguiente manera
1) ssh-keygen -t rsa -C "[email protected]"
2) proporcione un nuevo nombre de archivo en el que guardar la clave (/home/.ssh/seckey)
3) Luego agregue su nueva clave al ssh-agent: - ssh-add ~ / .ssh / seckey
4) Luego agregue su nueva clave a heroku: - claves heroku: agregue ~ / .ssh / seckey
5) agregue el archivo de configuración SSH como ~ / .ssh / config y el contenido de la siguiente manera
Host heroku.com Nombre de host heroku.com Puerto 22 Identidades Solo sí IdentityFile ~ / .ssh / seckey Usuario [email protected]
Host heroku.com Nombre de host heroku.com Puerto 22 Identidades Solo sí IdentityFile ~ / .ssh / id_rsa Usuario [email protected]
6) clona el código usando
a) git clone [email protected]: your-application.git b) heroku git: clone -a your-application
fuente
¡Instale el complemento de cuentas de Heroku y configúrelo!
Instalación
Uso
Para agregar cuentas:
Para listar cuentas:
Para cambiar a una cuenta diferente:
Para encontrar la cuenta corriente:
Para eliminar una cuenta:
configúrelo en su cuenta heroku de trabajo e introduzca los cambios.
fuente
Edite su configuración para ese proyecto, estableciendo el correo electrónico correcto. Desde la raíz de ese repositorio,
git config user.email <heroku email>
fuente