'git push heroku master' todavía solicita autenticación

79

He ejecutado:

$ heroku login

Pero cuando intento presionar, todavía me piden autenticación:

$ git push heroku master
Username for 'https://git.heroku.com': <email>
Password for 'https://<email>@git.heroku.com':

Entonces recibo una ADVERTENCIA: No se autentique con nombre de usuario y contraseña usando Git.

Ejecuté heroku login de nuevo y me autentiqué correctamente, pero sigo teniendo el mismo error.

Revisé el control remoto:

$ git remote -v
heroku https://[email protected]/appname.git (fetch)
heroku https://[email protected]/appname.git (push)

También generé una nueva clave pública, se la pasé a Heroku y la validé: https://devcenter.heroku.com/articles/keys

Estoy en Windows 8, con Git 1.9.5.

Rea G
fuente
¿Cómo se ve su configuración de ssh? ¿Ha agregado la entrada de anfitrión?
drRobertz
1
He solucionado el problema en el archivo de configuración, como se responde aquí: stackoverflow.com/questions/16721428/… : /
Rea G
Tal vez mi comentario solo pueda ayudar a algunas personas, pero descubrí que este error también ocurre si su nombre de cuenta (cuenta de Windows) no es ASCII. ¡Espero que este comentario pueda ayudar a alguien!
James

Respuestas:

186

Lo solucioné iniciando sesión con lo siguiente:

nombre de usuario: correo electrónico utilizado para registrarse en heroku (también he podido dejar este campo en blanco )

contraseña: heroku auth token ( clave API )

donde el token de autenticación puede ser recuperado por $ heroku auth:tokenoa través de la Configuración de la cuenta en Heroku

Andy Mccullough
fuente
7
y por espacio en blanco, en realidad quiere decir "en blanco" en el nombre de usuario.
Jody Fitzpatrick
14
bueno, cuando intento "nada" dice entrada inválida. Cuando escribí "en blanco" funcionó. Esto está en un sistema de Windows.
Jody Fitzpatrick
@NunoFurtado, sin embargo, he respondido mi problema con la respuesta aquí: stackoverflow.com/questions/16721428/…
Rea G
4
¡Trabajó para mi! También puede obtener la clave de autenticación en dashboard.heroku.com/account -> API Key
dmikam
8
aunque esto no tenía ningún sentido para mí, de hecho funcionó. magia.
hábitats
29

Tuve el mismo problema (git no pudo autenticarse). Sucedió que GIT quiere leer los datos de autenticación del archivo% HOME% / _ netrc y en Windows no tiene esta variable (solo% USERPROFILE% y% HOMEDRIVE% +% HOMEPATH%)

configuré HOME en% USERPROFILE% (el lugar donde heroku guardó el archivo _netrc) y GIT comenzó a funcionar

maquinilla de afeitar
fuente
¿De dónde sacas %USERPROFILE%? También intenté establecer %HOME%una ruta absoluta, pero todo lo que obtengo es un _netrcarchivo sin seguimiento . No me funciona.
mr5
Estoy configurando HOME=c:\users\razory es un lugar del archivo _netrc c:\users\razor\_netrccreado por Heroku
razor
18

Primero busque el _netrcarchivo creado por heroku. En Windows se puede encontrar en formato C:\Users\User Name\_netrc.

Ese archivo contiene credenciales para git.heroku.com

machine git.heroku.com
     login [email protected]
     password xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Use ese nombre de usuario y contraseña cuando solicite autenticación después del $ git push heroku mastercomando

e11438
fuente
¡Agradable! ¡Gracias!
Nikita
Funciona de maravilla.
skidad el
14

De la documentación de Heroku

Ingrese los siguientes comandos:

# Enable SSH authentication
$ heroku create --ssh-git

# Redirect tall HTTPS calls to SSH
$ git config --global url.ssh://[email protected]/.insteadOf https://git.heroku.com/
Rebs
fuente
12

Nombre de usuario: el correo electrónico que usó para registrarse en Heroku
Contraseña: la clave API que Heroku le proporciona, en la Configuración de su cuenta en el sitio web de Heroku

Esto funcionó para mi

Sarah
fuente
1
aquí https://dashboard.heroku.com/account . Baje la pantalla y presione el botón de revelar .. Gracias @Sarah
Raziza O
8

Tengo exactamente el mismo problema. La razón en mi caso, usé accidentalmente la consola de ventana en lugar de Git bash

jlcj
fuente
Va a mostrar cómo podría haber muchas razones detrás de una advertencia.
Rea G
No veo cómo esto podría causar el problema, en realidad creo que usé Windows cmd ...
andy mccullough
ffs, ¿se supone que debes usar Git bash?
Radu
Recibo otro error después de usar Git bash. Quizás me quedo concmd
mr5
Debería poder usar cualquiera de los dos. O ambos. Solo depende de si tienes tu contexto configurado con las credenciales heroku adecuadas.
dvlsg
5

Cambiar el nombre del _netrcarchivo a .netrcWindows 7 en el directorio de usuario funcionó para mí.

.. después de probar todos los pasos de muchos otros tutoriales.

Ejecute el tercer comando en cmd en su userdir o en el combo completo:

setx HOME %USERPROFILE%
cd %HOME%
REN _netrc .netrc
QWERTY
fuente
En mi caso, hice el inicio de sesión a través de un indicador de Windows cmd y quería usar las credenciales en Cygwin. Cambiar el nombre del archivo .netrcen mi carpeta de inicio hizo que git lo reconociera
Sonata
1

Esto sucede porque git y heroku no están usando el mismo _netrcarchivo. Esto es algo que estoy tratando de solucionar, pero puede ayudarme averiguando dónde está_netrc debería estar archivo y dónde lo está poniendo la CLI.

Lo siguiente generará fuentes potenciales de dónde _netrcpodría estar el archivo:

> echo %HOME%
> echo %HOMEDRIVE%%HOMEPATH%
> echo %USERPROFILE%

Puede intentar agregar el _netrcarchivo en uno de ellos para encontrar el que coincida. Hágame saber cuál tiene el _netrcarchivo y dónde puede colocarlo y haga que git lo recoja sin pedirle el nombre de usuario / contraseña.

También verifique su .gitconfigpara ver si hay algún ayudante de credenciales de git que pueda estar causando un problema.

Jeff Dickey
fuente
1

Este tema es antiguo, lo sé.

Sin embargo, ninguna de las soluciones anteriores funcionó para mí.

Mi problema fue que "Credenciales de Windows" (sistema operativo: Windows 10) tenía otra credencial previamente asociada con Heroku (cuenta de la empresa) y la usaba en lugar de la nueva (mi cuenta personal).

Tuve que ir a: "Panel de control \ Todos los elementos del panel de control \ Administrador de credenciales" (desde el Panel de control) y modificar todas las credenciales: https://git.heroku.com (y todas las asociadas con la palabra "heroku") con la cuenta al corriente.

Sin embargo, la contraseña la coloqué en la API clave que se muestra en el "Panel de control " del sitio y el comando funciona: git push heroku master.

7 horas que la vida no me devolverá. : /

Mis 2 centavos.

1antares1
fuente
0

Lo que hice fue abrir git bash en lugar del símbolo del sistema y escribir "git push heroku master". Funcionó: D

Khanh Nguyen
fuente
0

Arreglé esto cambiando la dirección http a ssh://git@heroku/...

matsko
fuente
0

Probablemente haya iniciado sesión herokuen dos terminales, y si intenta ejecutar un comando en el primer terminal, informará dicho error, ya que se realizó una nueva autenticación en el segundo terminal.

Inicio de sesión de nuevo con heroku loginy comandos ejecutados en esa terminal, o ejecutar comandos en esa segunda ventana (si lo tiene todavía abierto).

Aleks
fuente
0

Tuve el mismo problema en Windows y lo solucioné usando el PSW disponible en el archivo en _netrc, se puede encontrar en C: \ Users \ User Name_netrc.

Espero que pueda ayudar.

josé carlos siqueira
fuente
0

Simplemente escriba: $heroku login
Lo llevará al inicio de sesión web. Ingrese sus credenciales allí y también iniciará sesión a través de CLI.

shivesh kumar
fuente
0

Para generar un uso de token heroku a largo plazo:

heroku authorizations:create

Salida de muestra:

Creating OAuth Authorization... done
Client:      <none>
ID:          XXXXXXXX-XXXX-4c9c-85f2-554f0f0c14fa
Description: Long-lived user authorization
Scope:       global
Token:       XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95
Updated at:  Wed Mar 04 2020 12:00:00 GMT+0000 (Greenwich Mean Time) (less than a minute ago)

Luego usa la siguiente información para git:

username: blank (type the word blank)
pass: XXXXXXXX-XXXX-4ad5-ac64-44bbc01c2d95
Pedro Lobito
fuente
0

Era posible iniciar sesión con la clave API de Heroku (Configuración de la cuenta -> Clave API) como se menciona en @andy mccullough, sin embargo, era necesario iniciar sesión cada vez.

git fetch

resolvió el problema en mi caso.

Nazar
fuente