git - remove - MĂșltiples cuentas heroku
heroku git (13)
Tengo problemas para trabajar con múltiples cuentas de Heroku en mi computadora.
El caso es que funcionó muy bien antes al cambiar cuentas 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 autorizado para acceder my_app_name
¿Alguien tiene algún consejo sobre cómo podría resolver esto?
Debe asegurarse de estar utilizando la clave ssh correcta.
La forma de hacerlo (y la forma en que el complemento de cuentas heroku te lo pide) es agregar una sección a tu archivo de configuración ssh en ~ / .ssh / config. Por ejemplo, para mi cuenta de trabajo heroku tengo esto en mi configuración de ssh:
Host heroku.work
HostName heroku.com
IdentityFile ~/.ssh/id_heroku_work_rsa
IdentitiesOnly yes
Ahora, y esto es crucial, debe asegurarse de que su control remoto git esté configurado para usar el mismo host nombrado . En este caso es heroku.work . Normalmente sería heroku.com si estuvieras usando heroku con solo una cuenta.
Por lo tanto, deberá editar el control remoto de git (puede hacerlo en el archivo .git/config
de su repositorio en su máquina). Cambia el archivo para que se vea así:
[remote "heroku"]
url = [email protected]:<appname>.git
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.
Debes ser aceptado como colaborador en el proyecto que no posees.
Funciona así (usando git):
- El propietario del proyecto va a la consola de heroku para el proyecto
- El propietario agrega la dirección de correo electrónico del colaborador (la que se utilizó para registrar el colaborador)
- El colaborador configura su clave de seguridad pública en su cuenta (si no lo hizo)
- El colaborador agrega y configura el otro proyecto como otro control remoto
Y eso debería ser todo amigos; solo tiene que presionar el otro control remoto cuando se despliegue en la otra aplicación.
Edite su configuración para ese proyecto, configurando el correo electrónico correcto. Desde la raíz de ese repositorio, git config user.email <heroku email>
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 . Lamentablemente, no parece almacenar proyecto por proyecto qué cuenta debería estar usando, por lo que debe ejecutar
$ heroku accounts:set account_name
cada vez que quiera usar la herramienta de línea de comandos Heroku.
Solución rápida para personas con acceso al shell bash: crea un directorio bin local (ya está allí en las aplicaciones Rails) y crea allí bin / heroku. Contenido:
#!/bin/bash
/usr/bin/heroku accounts:set account_name
/usr/bin/heroku $*
(reemplace "project_name" según corresponda) Luego ejecute
$ chmod + x bin / heroku
Entonces puedes correr
$ bin / heroku run console
y automáticamente usará la cuenta correcta de Heroku para usted. Mejor aún es agregar ./bin a su ruta para que esté de nuevo en funcionamiento:
$ heroku ejecutar la consola
Empecé a usar el plugin heroku-accounts, pero luego me di cuenta de que mi amigo solo podía hacerme un colaborador en su cuenta heroku y eso era todo lo que necesitaba.
Esto me ha estado molestando por un tiempo, y nunca encontré la solución que me gustaba. Finalmente encontré uno.
(Respuesta específica de OS X.)
Solo puedes crear nuevos usuarios. Vaya a Preferencias del sistema -> Usuarios y grupos -> Botón Agregar usuario o grupo. Puedes crear algunos usuarios para diferentes cuentas heroku, acabo de nombrar el usuario1, el usuario2, 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 un terminal y hacer lo siguiente:
$ ssh user1@localhost
Entonces puedes hacer cosas como esta:
$ heroku login
$ heroku keys:add
Lo resolví usando el plugin heroku-accounts
mira aquí para obtener instrucciones
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
Para que esto funcione para mí con las consolas Git y Heroku, tuve que agregar crear la configuración de ssh como lo indicaba bantic, pero también tuve que crear dos controles remotos para mi configuración de .git:
[remote "origin"]
url = [email protected]:pacific-rock-4904.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "heroku"]
url = [email protected]:pacific-rock-4904.git
fetch = +refs/heads/*:refs/remotes/heroku/*
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.
Utilicé nano .git / config y luego reemplacé el valor de url del "heroku" remoto con heroku.com> aplicaciones> configuraciones> Mostrar variables de configuración> URL de Heroku Git
crear una nueva clave pública / privada para el nuevo correo electrónico de la siguiente manera
1) ssh-keygen -t rsa -C "[email protected]"
2) proporcionar un nuevo nombre de archivo para guardar la clave (/home/.ssh/seckey)
3) Luego agregue su nueva clave al ssh-agent: - ssh-add ~ / .ssh / seckey
4) Luego agrega tu nueva clave a heroku: - Heroku keys: agrega ~ / .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 Port 22 IdentitiesOnly yes IdentityFile ~ / .ssh / seckey Usuario [email protected]
Host heroku.com Nombre de host heroku.com Port 22 IdentitiesOnly yes IdentityFile ~ / .ssh / id_rsa Usuario [email protected]
6) clonar el código usando cualquiera
a) git clone [email protected]: tu-aplicación.git b) heroku git: clon -a tu-aplicación
estoy usando win7
1) crear otra cuenta de usuario en win7 e iniciar sesión en ella
2) abra git bash e inicie sesión en su nueva cuenta heroku
3) crear y cargar nueva clave RSA (instrucción aquí: https://devcenter.heroku.com/articles/keys )
4) luego haz lo que quieras (crea una nueva aplicación, inserta un archivo ...)
5) cada vez que necesites trabajar con tu cuenta original de heroku solo ingresa a tu cuenta de usuario original y trabaja con heroku
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/ un par de cosas al http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/ ... este ejemplo asume que tu cuenta heroku preexistente será heroku.work y estás agregando una nueva cuenta heroku.personal.
También describe cómo mover una aplicación de una a otra, por ejemplo, si alcanzó su máximo de 25 aplicaciones y está creando una nueva cuenta y desea mover algunos de sus proyectos secundarios y aplicaciones experimentales fuera de su cuenta principal.
- Probablemente necesites usar el complemento para crear AMBAS tus cuentas antiguas y nuevas, por ejemplo, si tienes una para empezar, no puedes simplemente agregar una nueva heroku.personal, necesitas crear heroku.work para reemplazar la anterior.
- Deberás reasignar tus aplicaciones antiguas a tu heroku.work
- si está moviendo una aplicación, no asigne la aplicación a heroku.personal (usando
heroku accounts:set personal
) hasta después de transferir la aplicación utilizando el comando parasharing
heroku como se describe https://devcenter.heroku.com/articles/transferring-apps
Entonces, los pasos que probablemente necesites son:
- Instala el plugin heroku-account
- Vaya a heroku.com y cree su nueva cuenta (si aún no tiene una segunda cuenta)
-
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
- Para cada aplicación, cd al
heroku accounts:set work
raíz del proyecto y luego ejecuteheroku accounts:set work
(todo lo que hace es configurar git para usar su heroku.work, que es (en este ejemplo) la misma cuenta heroku que ha estado usando todo el tiempo, solo ahora se llama heroku.work. - Si desea mover una aplicación de heroku.work a heroku.personal, (a) agregue la nueva cuenta de heroku como colaborador con
heroku sharing:add <new owner email>
(b) en su directorio local, cambie la aplicación a heroku .personal usingheroku accounts:set personal
transferenciaheroku accounts:set personal
(c) ** de la cuenta anterior a la nueva usandoheroku sharing:transfer <new owner email>
luego (d) elimine el antiguo colaborador de la dirección de correo electrónico (si lo desea) utilizando elheroku sharing:remove <old owner email>
** Tenga en cuenta que el enlace de heroku que proporcioné dice que existen requisitos especiales para mover una aplicación con los recursos pagos. En general, elimine los resurtidos pagados, luego agréguelos nuevamente o hágalo.