Git에 푸시 중 오류 코드 403을 반환합니다. HTTP 요청 실패
HTTPS 인증을 통해 이 레포의 복사본을 복제할 수 있었습니다.몇 가지 커밋을 했는데 GitHub 서버로 다시 푸시하고 싶습니다.Windows 7 x 64에서 Cygwin 사용.
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
제가 가지고 있는 깃과 컬의 버전은 다음과 같습니다.
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
저도 방금 같은 문제가 생겨서 원인을 알아냈어요.
Github은 repo를 읽고 쓰는 ssh 방식만 지원하는 것처럼 보이지만 https 방식도 'Read & Write'로 표시됩니다.
따라서 PC의 repo 구성을 ssh 방법으로 변경해야 합니다.
- 집
.git/config
디렉토리 아래에 있는 파일.repo 입니다. - »
url=
섹션에 있는 .[remote "origin"]
. - 다음에서 변경:
url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git
대상:
url=ssh://git@github.com/derekerdmann/lunch_call.git
즉, 이전의 모든 텍스트를 변경합니다.@
에 대한 .ssh://git
- 절약하다
config
파일을 작성하고 종료합니다.이제 당신은 사용할 수 있습니다.git push origin master
GitHub에 대한 평판을 동기화합니다.
다을사여로면려하를 사용하여 확실히 할 수 하기 .https
protocol. 먼저 gitRemoteURI에 인증 자격 증명을 설정해야 합니다.
git remote set-url origin https://yourusername@github.com/user/repo.git
그러면 암호를 입력하라는 메시지가 표시됩니다.git push
.
사실, 이것은 http 인증 형식입니다.암호를 설정할 수도 있습니다.
https://youruser:password@github.com/user/repo.git
이렇게 하면 github 비밀번호가 .git 디렉토리에 일반 텍스트로 저장된다는 것을 알아야 합니다.
션의 대답에 작은 추가 사항이 하나 있습니다.
에 집하는신..git/config
할 경우, 할 수 .git remote set-url
지휘권
당신의 경우는 다음과 같아야 합니다.
git remote set-url origin ssh://git@github.com/derekerdmann/lunch_call.git
점 파일을 가지고 노는 것보다 더 쉽고 깨끗합니다.
집.git/config
에 입니다.
» url=
섹션에 있는 .[remote "origin"]
에서변에서 합니다.url=https://github.com/rootux/my-repo.git
https://USERNAME@github.com/rootux/my-repo.git
USERNAME
사용자 이름 github입니다.
SSH로 전환할 것을 제안하는 다른 답변들은 요점을 놓치고 있습니다.HTTPS가 지원되지만 SSH 암호가 아닌 GITHUB 암호로 로그인해야 합니다(같은 오류가 발생했습니다).
저도 같은 문제를 겪고 있었지만 터미널 암호 프롬프트에서 실제 GitHub 암호를 사용하여 구성을 변경하거나 SSH에 의존하지 않고 해결책을 수정했습니다.
이 점을 주목해야 하는 이유는 많은 공공 기관(예: 우리 학교)이 SSH를 차단하지만 HTTPS를 허용하기 때문입니다(이것이 제가 HTTPS를 통해 복제를 시작한 유일한 이유입니다).
같은 문제를 겪고 있는 다른 사람들을 도울 수 있기를 바랍니다.
Windows(윈도우)를 사용하는 경우 Windows(윈도우)가 외부 저장소(우리의 경우 github)에 대한 자격 증명을 자체 저장소에 저장하기 때문에 이 문제가 발생할 수 있습니다.저장된 자격 증명은 현재 필요한 자격 증명과 다를 수 있습니다.
이 문제를 방지하려면 이 저장소에서 github을 찾고 저장된 자격 증명을 삭제하면 됩니다.이 후 git를 누르는 동안 자격 증명을 요청하고 를 누를 수 있습니다.
Mac OS X에서도 동일한 오류 및 해상도를 제공합니다.
깃허브에 새 계정을 만들고 푸시를 시도하기 전까지는 모든 것이 잘 작동했습니다.
$ git push -u origin master
오류가 발생했습니다.
원격: NEWUSER/NEWREPO.git가 OLDUSER에게 거부되었습니다. 치명적: 'https://github.com/NEWUSER/NEWREPO.git/' 에 액세스할 수 없습니다.요청한 URL에서 오류가 반환되었습니다. 403
글로벌 또는 현재 repo에 대해 user.name 을 설정하여 수정했어야 합니다.
$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER
하지만 그렇지 않았습니다.
Passwords 섹션의 Keychain Access 앱에서 GitHub과 관련된 OLDUSER를 삭제하여 수정하였습니다.그런 다음 푸시 명령이 성공적으로 수행되었습니다.
$ git push -u origin master
이것은 나에게 효과가 있습니다 -:
git remote set-url origin https://username@github.com/user/repo.git
도움이 되길 바랍니다.
저는 @deepwaters가 이전 버전의 정답을 맞췄다고 생각합니다.HTTPS URL에는 사용자 이름이 있어야 합니다.와 1.7.0.4를 얻었습니다.git push origin master
제가 비밀번호를 추가하기 전까지는 비밀번호를 묻지도 않을 겁니다
깃을 업그레이드합니다.GitHub은 https://help.github.com/articles/error-the-requested-url-returned-error-403 에서 이 질문에 답했습니다.
403 코드는 "금지됨"입니다.서버가 사용자의 요청을 보고 거부했습니다.해당 리포지토리에 푸시할 수 있는 권한이 있습니까?
여기에 많은 답들이 있지만, 이것이 제 문제를 해결한 것입니다.
2020년 7월 이후 HTTPS를 사용하는 경우 Token 인증을 사용하여 GitHub에 액세스해야 합니다.
따라서 프로필 설정 페이지에서 액세스 토큰을 생성하여 암호로 사용해야 합니다.리포지토리에 쓰는 데 필요한 상자를 선택합니다.
이제 다음 명령을 사용하여 사용자 이름을 repo에 추가합니다.
git remote set-url origin https://yourusername@github.com/user/repo.git
누르기를 시도하면 암호를 묻는 메시지가 나타납니다.새로 생성한 토큰을 입력합니다.
여전히 푸시하는 데 문제가 있는 경우 웹 인터페이스를 사용하여 권한 문제를 분리하기 위한 개인 보고서로 포크합니다.인증 문제를 해결하는 데 집중할 수 있습니다.
알았어요.HTTPS를 통해 복제했습니다. 공용 SSH 키를 설정하고 SSH를 통해 복제한 후 SSH를 통해 푸시오버하여 수정했습니다.
동일한 오류가 발생했지만 원인은 어리석었습니다. 선택한 리포지토리에 커밋할 권한이 없습니다.나는 내가 해야 한다는 것을 몰랐습니다.
- 선택한 프로젝트를 먼저 포크
- 로컬로 리포지토리 복제
- 로컬에서 변경사항 커밋
- 내 Github 클론에 대한 변경사항 푸시
- 업스트림으로 끌어오기 요청
https://help.github.com/categories/63/articles 에 설명된 바와 같이
저는 사실 이것에 대해 아주 간단한 해결책을 가지고 있었습니다.저장소를 복제한 후 git 구성 파일을 다르게 편집한 것이 전부입니다.원격 오리진 URL은 기본 구성 파일에서 편집해야 하는 URL입니다.아래와 같이 보여야 합니다.
[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
임시 수정을 위해 이 작업을 수행
git push -u https://username:password@github.com/username/repo_name.git master
- 리포지토리를 클릭합니다.
- 오른쪽에서 "설정"을 클릭합니다.
- 왼쪽 옵션 패널에서 "공동작업자"를 클릭합니다.
- GitHub에서 알고 있는 사용자 이름 추가
- 공동작업자 추가를 누릅니다.
그 후 우리의 "Push to Git"은 잘 작동했습니다.
에서 변경합니다.
url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git
로.
url=ssh://git@github.com/derekerdmann/lunch_call.git
효과가 있습니다!
"@" 앞에 있는 "git"를 잊지 마십시오.
다음과 같은 URL에 사용자 이름을 추가하십시오. https://islam9@github.com /sys9/bootstrap-rtl
확인해주세요: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
권한이 거부된 사용자의 경우 ssh(샤오에 따라) 또는 http URL을 사용하는 동안 403 오류가 발생하면 다음 명령을 사용해 보십시오.
>git config --global --unset-all credential.helper
>git config --unset-all credential.helper
관리자 권한으로
>git config --system --unset-all credential.helper
위의 답변 중 어떤 것도 나에게 효과가 없었습니다.enterprise
GitHub 계정.SSH 키 생성 방법을 통해 푸시하려면 다음 단계를 수행합니다.
Git 계정을 방문하여 보고서를 작성합니다.
SSH 키 생성:
ssh-keygen -t rsa -C "your_email@example.com"
~/.ssh/id_rsa.pub 파일의 내용을 GitHub 계정 설정의 SSH 키에 복사합니다.SSH 키 테스트:
ssh -T git@github.com
clone the repo:
git clone git://github.com/username/your-repository
이제 git clone 폴더에 cd를 넣고 다음을 수행합니다.
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 버전은 새 repo가 생성되는 동안 파일이 없는 것이 좋습니다.따라서 빈 레포를 만듭니다.
솔루션은 다음과 같습니다.
Windows의 경우 키는 다음에서 찾을 수 있습니다.
제어판 > 사용자 계정 > 자격 증명 관리자 > Windows 자격 증명 > 일반 자격 증명
그런 다음 Github 키를 제거합니다.
인맥
1-Finder에서 Keychain Access 앱을 검색합니다.
2키체인 액세스에서 github.com 을 검색합니다.
3-github.com 의 "인터넷 비밀번호" 항목을 찾습니다.
4-그에 따라 항목을 편집하거나 삭제합니다.
나에게 효과가 있었던 것:
나의 레포는 포크였고 여전히 부모 레포와 연결되어 있습니다.
git remote -v
당신의 보고서인지 아닌지 알려드리겠습니다.
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git
레포로 재구성한 다음 푸시할 수 있습니다.
github에서 403 오류가 발생하면,
토큰을 만들 때 모든 확인란을 선택해야 합니다.
https://github.com/settings/tokens
나는 github 토큰 생성 페이지에 디자인 결함이 있다고 생각합니다.
궁금한 분들은 제 Mac 머신과 Lucid VM의 범위가 1.7.6과 1.7.0.4 사이이며, 제 Mac(새로운 Git)에서도 정확히 동일한 리포를 푸시할 수 있지만 VM은 푸시할 수 없습니다.
같은 컬 버전입니다.아마도 일부 오래된 Git 버전은 https 푸시를 지원하지 않나요?
URL의 일부로 사용자 이름을 추가합니다. git 명령이 https가 아닌 http를 누르고 있기 때문에 이 오류가 발생합니다.그래서 url을 설정합니다.
git remote set-url origin https://<username>@github.com/Path_to_repo.git
그런 다음 암호를 입력하라는 메시지가 표시됩니다.
관리자 권한을 사용하여 아래 명령을 사용해 보십시오.이 명령으로 문제가 해결되었습니다.문제가 해결되기를 바랍니다.
git config --system --unset-all credential.helper
저는 이 문제에 대한 저만의 변형을 알아냈습니다.
문제는 프로토콜을 https에서 ssl로 변경하는 것이 아니라 Github 글로벌 사용자 이름과 이메일을 설정하는 것이었습니다! (개인 저장소로 푸시하려고 했습니다.)
git config --global user.email "your_github_email_@email.com"
git config --global user.name "Your full name"
Github에는 이 오류를 해결하기 위한 전용 페이지가 있습니다.
https://help.github.com/articles/https-cloning-errors
저의 경우 새로운 버전의 git(1.8.5.2)를 사용하면 이 문제가 해결되었습니다.
이러한 솔루션으로 문제를 해결하지 않은 사용자는 다음 스레드를 따릅니다.
"이것은 두 Git 계정이 동일한 컴퓨터에서 사용될 때 발생합니다." https://stackoverflow.com/a/52046047/7861886
Windows 솔루션이 있고 Mac 사용자를 위한 Mac 솔루션을 댓글에 추가했습니다.
언급URL : https://stackoverflow.com/questions/7438313/pushing-to-git-returning-error-code-403-fatal-http-request-failed
'it-source' 카테고리의 다른 글
Mongodb v4.0 트랜잭션, MongoError:트랜잭션 번호는 복제본 집합 구성원 또는 몽고에서만 허용됩니다. (0) | 2023.04.26 |
---|---|
C#의 여러 줄 문자열 리터럴 (0) | 2023.04.26 |
에뮬레이터 오류:이 AVD의 구성에 커널 파일이 없습니다. (0) | 2023.04.26 |
iOS 앱을 제출하기 위해 보관하려고 하면 프로비저닝 설정이 충돌하는 오류가 발생함 (0) | 2023.04.26 |
Bash 스크립트에 전달된 인수 수 확인 (0) | 2023.04.26 |