Empujar a Git devolviendo el código de error 403 fatal: la request HTTP falló

Pude clonar una copy de este repository sobre HTTPS autenticado. Realicé algunas confirmaciones y quiero volver al server de GitHub. Usando Cygwin en Windows 7 x64.

C:\cygwin\home\XPherior\Code\lunch_call>git push Password: error: The requested URL returned error: 403 while accessing https://MichaelDrog alis@github.com/derekerdmann/lunch_call.git/info/refs fatal: HTTP request failed 

También configúrelo con modo detallado. Todavía estoy bastante desconcertado.

 C:\cygwin\home\XPherior\Code\lunch_call>set GIT_CURL_VERBOSE=1 C:\cygwin\home\XPherior\Code\lunch_call>git push Password: * Couldn't find host github.com in the _netrc file; using defaults * About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * 0x23cb740 is at send pipe head! * Connected to github.com (207.97.227.239) port 443 (#0) * successfully set certificate verify locations: * CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt CApath: none * SSL connection using AES256-SHA * Server certificate: * subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1. 3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L =San Francisco; O=GitHub, Inc.; CN=github.com * start date: 2011-05-27 00:00:00 GMT * expire date: 2013-07-29 12:00:00 GMT * subjectAltName: github.com matched * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass urance EV CA-1 * SSL certificate verify ok. > GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1 User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache < HTTP/1.1 401 Authorization Requinetworking < Server: nginx/1.0.4 < Date: Thu, 15 Sep 2011 22:44:41 GMT < Content-Type: text/plain < Connection: keep-alive < Content-Length: 55 < WWW-Authenticate: Basic realm="GitHub" < * Ignoring the response-body * Expire cleanetworking * Connection #0 to host github.com left intact * Issue another request to this URL: 'https://MichaelDrogalis@github.com/dereker dmann/lunch_call.git/info/refs?service=git-receive-pack' * Couldn't find host github.com in the _netrc file; using defaults * Re-using existing connection! (#0) with host github.com * Connected to github.com (207.97.227.239) port 443 (#0) * 0x23cb740 is at send pipe head! * Server auth using Basic with user 'MichaelDrogalis' > GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1 Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache < HTTP/1.1 401 Authorization Requinetworking < Server: nginx/1.0.4 < Date: Thu, 15 Sep 2011 22:44:41 GMT < Content-Type: text/plain < Connection: keep-alive < Content-Length: 55 * Authentication problem. Ignoring this. < WWW-Authenticate: Basic realm="GitHub" * The requested URL returned error: 401 * Closing connection #0 * Couldn't find host github.com in the _netrc file; using defaults * About to connect() to github.com port 443 (#0) * Trying 207.97.227.239... * 0x23cb740 is at send pipe head! * Connected to github.com (207.97.227.239) port 443 (#0) * successfully set certificate verify locations: * CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt CApath: none * SSL re-using session ID * SSL connection using AES256-SHA * old SSL session ID is stale, removing * Server certificate: * subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1. 3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L =San Francisco; O=GitHub, Inc.; CN=github.com * start date: 2011-05-27 00:00:00 GMT * expire date: 2013-07-29 12:00:00 GMT * subjectAltName: github.com matched * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass urance EV CA-1 * SSL certificate verify ok. * Server auth using Basic with user 'MichaelDrogalis' > GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1 Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx User-Agent: git/1.7.4.3282.g844cb Host: github.com Accept: */* Pragma: no-cache * The requested URL returned error: 403 * Expire cleanetworking * Closing connection #0 error: The requested URL returned error: 403 while accessing https://MichaelDrog alis@github.com/derekerdmann/lunch_call.git/info/refs fatal: HTTP request failed 

Estas son las versiones de git y curl que tengo:

 C:\Users\XPherior>git --version git version 1.7.4.msysgit.0 C:\Users\XPherior>curl --version curl 7.21.7 (amd64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5 Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tftp Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz 

Acabo de tener el mismo problema y descubrí cuál es la causa.

Github parece solo compatible con ssh forma de leer y escribir el repository, aunque el modo https también muestra 'Leer y escribir'.

Así que debes cambiar tu configuration de repos en tu PC a ssh way:

  1. edite el file .git/config bajo su directory repo
  2. search url= input en la sección [remote "origin"]
  3. cámbielo de url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git a url=ssh://git@github.com/derekerdmann/lunch_call.git . es decir, cambie todos los texts antes del símbolo @ a ssh://git
  4. Guarde el file de config y salga. ahora puedes usar git push origin master para sincronizar tu repository en GitHub

Para poder iniciar session usando el protocolo https , primero debe configurar su cnetworkingencial de authentication en el git URI remoto :

 git remote set-url origin https://yourusername@github.com/user/repo.git 

Luego, se le pedirá una contraseña cuando intente hacer git push .

De hecho, esto está en el formatting de authentication http. También puedes establecer una contraseña:

 https://youruser:password@github.com/user/repo.git 

Debe tener en count que si hace esto, su contraseña de github se almacenará en text sin formatting en su directory .git, lo cual es obviamente indeseable.

Una pequeña adición a la respuesta de Sean .

En lugar de editar manualmente el file .git/config , puede usar git remote set-url command git remote set-url .

En tu caso, debería ser:

 git remote set-url origin ssh://git@github.com/derekerdmann/lunch_call.git 

Me resulta más fácil y más limpio que jugar con files de puntos.

  • help.github.com: Cambiar la URL de un control remoto

Edite el file .git/config en su directory repo

Buscar url= input en la sección [remote "origin"]

url=https://github.com/rootux/ms-Dropdown.git de url=https://github.com/rootux/ms-Dropdown.git a https://USERNAME@github.com/rootux/ms-Dropdown.git

donde USERNAME es tu nombre de usuario github

Las otras respuestas que sugieren cambiar a SSH tipo de perder el punto. HTTPS es compatible, pero debe iniciar session con su contraseña GITHUB, no con su frase de contraseña SSH (que era lo que me estaba dando el mismo error exacto).

Estaba teniendo el mismo problema, pero al asegurarme de usar mi contraseña real de GitHub en el indicador de contraseña del terminal, solucioné la solución sin alterar la configuration ni recurrir a SSH.

La razón por la que es importante señalar esto es que muchas instituciones públicas (como mi escuela) bloquearán SSH, pero permitirán HTTPS (que es la única razón por la que comencé a clonar a través de HTTPS en primer lugar).

Espero que ayude a alguien más a tener el mismo problema …

Creo que @deepwaters obtuvo la respuesta correcta para versiones anteriores. La URL HTTPS debe tener el nombre de usuario. Tenía git 1.7.0.4 y el git push origin master ni siquiera me pedía una contraseña hasta que lo añadí.

Mismo error y resolución en Mac OS X.

Todo funcionaba bien hasta que creé una nueva count en GitHub e intenté impulsar

 $ git push -u origin master 

Y obtuve el error:

remoto: Permiso para NEWUSER / NEWREPO.git denegado a OLDUSER. fatal: no se puede acceder a ' https://github.com/NEWUSER/NEWREPO.git/ ': la URL solicitada arrojó el error: 403

Debería haberse arreglado estableciendo el nombre.usuario para el repository global o actual

 $ git config –-global user.name NEWUSER $ git config user.name NEWUSER 

Pero no fue así.

Lo solucioné eliminando el OLDUSER asociado a GitHub desde la aplicación Keychain Access en la sección Contraseñas. Luego, el command push fue exitoso.

 $ git push -u origin master 

reference

Esto funciona para mí:

 git remote set-url origin https://username@github.com/user/repo.git 

Espero eso ayude

Mejora tu git. GitHub ha respondido esta pregunta en https://help.github.com/articles/error-the-requested-url-returned-error-403 .

Lo averigué. Cloné sobre HTTPS. La configuration de mis keys SSH públicas, la clonación a través de SSH y el control de SSH lo arreglaron.

Simplemente agregue su nombre de usuario en la url de esta manera: https: //islam9@github.com/islam9/bootstrap-rtl

Por favor, consulte: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/

De hecho, tuve una solución muy simple para esto. Todo lo que hice fue editar el file de configuration de git de forma diferente después de clonar el repository. La URL de origen remota es lo que necesita editar en su file de configuration pnetworkingeterminado. Debería verse como se ve a continuación

 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://*username*@github.com/*username*/*repository*.git [branch "master"] remote = origin merge = refs/heads/master 

Un código 403 es "Prohibido". El server vio su request y la rechazó. ¿Tienes permiso para ingresar a ese repository?

  1. Haga clic en su repository
  2. En el lado derecho, haz clic en "Configuración"
  3. En el panel de opciones del lado izquierdo, click "Colaboradores"
  4. Agregue el nombre de la persona que conoce en GitHub
  5. Haga clic en "Agregar queueboradores"

Después de esto, nuestro "Push to Git" funcionó bien.

Me enfrenté al mismo error y la causa fue estúpida: no tenía privilegios para comprometerme con el repository seleccionado. No sabía que tenía que

  1. fork proyecto seleccionado primero
  2. repository de clones localmente
  3. comprometer mis cambios localmente
  4. presione los cambios a mi clon github
  5. solicitar request de extracción a la stream ascendente

como se describe en https://help.github.com/categories/63/articles

Lo que funcionó para mí:

Mi repo era un tenedor y todavía estaba vinculado al repository de los padres.

 git remote -v 

Te dirá si es tu repository o no.

 git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git 

Le permite reconfigurarlo a su repository y luego le permite presionar.

Para alguien curioso, mi máquina mac vs lúcida vm ejecutaba git 1.7.6 vs 1.7.0.4, y el mismo repos era empujable desde mi mac (git más nuevo) pero no la VM

La misma versión curl. Tal vez algunas versiones antiguas de GIT no son compatibles con https push?

cambiarlo de

 url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git 

a

 url=ssh://git@github.com/derekerdmann/lunch_call.git 

¡Funciona!

No olvides el "git" antes de la "@".

Descubrí mi propia variación de este problema.

El problema no era cambiar el protocolo de https a ssl, sino configurar el nombre de usuario y el correo electrónico globales de Github. (Estaba tratando de presionar a un repository privado.

 git config --global user.email "your_github_email_@email.com" git config --global user.name "Your full name" 

Agregue el nombre de usuario como parte de la URL y este error ocurre porque el command git está golpeando http en lugar de https. Así que configura la url

 git remote set-url origin https://<username>@github.com/Path_to_repo.git 

Después de lo cual se le solicitará una contraseña:

Tuve este problema en este momento, y resultó que mi server /etc/resolver.conf tenía una dirección IP incorrecta. Podría ayudar a otros.

Esto me sucedió porque mi compañero de trabajo accidentalmente inhabilitó el repository del que se bifurcaba este repository. Solo podría verificar para asegurarse de que el repository git (hub) original aún exista.

Podría ser un problema de contabilidad. La count de Github del propietario de repo ascendente (privada) puede no ser financiera. He visto esto donde expiró la tarjeta de crédito del cliente.

Tuve el mismo problema. Mi caso fue: Inicialicé git repo localmente antes de crearlo en github, luego intenté agregar una twig remota. Resolví mi problema cambiando el order de las acciones: creé un repository en el sitio github y luego lo ingresé localmente. Pero no es el caso de ellos a los que les gusta hacer todo desde la command-line como yo.

Después de cambiar https a http dentro de la aplicación gitbox, funcionó para mí.

A veces no hay nada de malo en la configuration, y hay algunos problemas en los serveres de github.

https://status.github.com – estado actual de github 🙂

Github tiene una página dedicada a solucionar este error:

https://help.github.com/articles/https-cloning-errors

En mi caso, resultó que usar una nueva versión de git (1.8.5.2) resolvió este problema.

Edite el file .git / config en su directory repo

Buscar url = input en la sección [origen remoto "]

Cámbielo de url = https://github.com/rootux/ms-Dropdown.git a https: //USERNAME@github.com/rootux/ms-Dropdown.git

donde USERNAME es tu nombre de usuario github

=> Esta solución funcionó para mí.

Para aquellos que tienen permiso denegado el error 403 al usar ssh (de acuerdo con Xiao ) o http urls testing estos commands

 >git config --global --unset-all cnetworkingential.helper >git config --unset-all cnetworkingential.helper 

con derechos de administrador

 >git config --system --unset-all cnetworkingential.helper 

Otra razón posible es que podría haber excedido el límite de su plan.

Para solucionar este problema y restablecer el acceso de escritura al repository, se deberá actualizar su plan de count o se deberá eliminar a algunos de sus queueboradores.