Нажатие на Git возвращает код ошибки 403 неустранимый: HTTP-запрос не выполнен - PullRequest
591 голосов
/ 16 сентября 2011

Мне удалось клонировать копию этого репозитория с проверкой подлинности по протоколу HTTPS. Я сделал несколько коммитов и хочу вернуться на сервер GitHub. Использование Cygwin в 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

Также настройте его в подробном режиме. Я все еще довольно сбит с толку.

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 Required
< 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 cleared
* 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 Required
< 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 cleared
* 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

Вот версии git и curl, которые у меня есть:

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

Ответы [ 50 ]

3 голосов
/ 13 февраля 2018

Ни один из приведенных выше ответов не сработал для моей enterprise учетной записи GitHub. Выполните следующие шаги для проталкивания через способ генерации ключей ssh.

Создайте репо, посетив свой git-аккаунт.

Создать ключ SSH:

ssh-keygen -t rsa -C "your_email@example.com"

Скопируйте содержимое файла ~ / .ssh / id_rsa.pub в ключи SSH в настройках учетной записи GitHub. Тестовый ключ SSH:

ssh -T git@github.com
clone the repo:
git clone git://github.com/username/your-repository

Теперь перейдите в вашу папку git clone и выполните:

git remote set-url origin git@github.com:username/your-repository.git

Теперь попробуйте отредактировать файл (попробуйте README) и затем выполните:

git add -A
git commit -am "my update msg"
git push -u origin master

Обновление: новая версия git, похоже, рекомендует не иметь никаких файлов при создании нового репо. Поэтому сделайте пустой репо.

3 голосов
/ 19 сентября 2018

Сделайте это для временного исправления

git push -u https://username:password@github.com/username/repo_name.git master

3 голосов
/ 18 октября 2012

изменить его с

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

до

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

Это работает!

Не забывайте "git" перед "@".

2 голосов
/ 18 февраля 2014

Я выяснил свой вариант этой проблемы.

Проблема не в том, чтобы изменить протокол с https на ssl, а вместо этого, настройка глобального имени пользователя и электронной почты Github! (Я пытался подтолкнуть к частный репозиторий.

git config --global user.email "your_github_email_@email.com"

git config --global user.name "Your full name"
2 голосов
/ 27 сентября 2014

Github имеет страницу, посвященную устранению этой ошибки:

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

В моем случае оказалось, что использование новой версии git (1.8.5.2) решило эту проблему.

1 голос
/ 02 апреля 2014

Иногда в настройках нет ничего плохого, и на github-серверах возникают некоторые проблемы.

https://status.github.com - текущий статус github:)

1 голос
/ 26 апреля 2016

В моем случае ошибка была вызвана тем, что у меня нет разрешений в хранилище.

1 голос
/ 29 августа 2012

У меня была эта проблема прямо сейчас, и оказалось, что мой файл /etc/resolver.conf моего сервера имел неверный IP-адрес.Может помочь другим.

1 голос
/ 07 мая 2013

Это может быть проблема бухгалтерского учета.Учетная запись Github владельца репо (частного) не может быть финансовой.Я видел это там, где срок действия кредитной карты клиента истек.

1 голос
/ 02 июня 2014

В моем случае я получал вышеуказанную ошибку для моего идентификатора электронной почты с github, который еще не был подтвержден .GitHub давал это предупреждение о неподтвержденной электронной почте.

Проверка электронной почты, а затем отправка сообщения сработали для меня.

...