programing

git: 치명적:원격 저장소에서 읽을 수 없습니다.

css3 2023. 4. 15. 09:10

git: 치명적:원격 저장소에서 읽을 수 없습니다.

사이트 관리를 위해 http://danielmiessler.com/study/git/#git을 셋업하려고 합니다.

git push website + master: refs/heads/master의 마지막 단계에 도달했습니다.

win7에서 git ming32 명령줄을 사용하여 작업하고 있습니다.

$ git push website +master:refs/heads/master
Bill@***.com's password:
Connection closed by 198.91.80.3
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

여기서의 문제 중 하나는 프로그램이 Bill@****com을 찾고 있다는 것입니다.ssh 경유로 사이트에 접속하면, 다른 유저명( 「abc」라고 합니다).abc@***********com 이 될 것 같습니다.변경 방법을 모르거나 별칭으로 푸시할 수 있는지 여부

ssh 키가 ssh 에이전트에서 제거되었을 수 있습니다.

ssh-add ~/.ssh/id_rsa

여기서 id_module은 git repo와 관련된SSH 키입니다

갱신하다

Could not open a connection to your authentication agent.다음 방법으로 에이전트를 먼저 시작해야 하는 문제를 해결합니다.

eval `ssh-agent -s`

저도 얼마 전에 같은 문제에 직면했었는데...

my .filename/config는

url = git@github.com:manishnakar/polymer-demo.git

로 교체했습니다.

url = https://github.com/manishnakar/polymer-demo.git 

동작하고 있습니다.

의 을 지정할 수 유저명에 , SSH 의 URL 를 합니다.이이유음음, 음음음음음음음음,@리모트 호스트명 앞에 표시됩니다.

git remote set-url website abc@***.com:path/to/repo

이 올바르게 되어 있는 ..git/config

url = git@github.com:username/repo.git

처음 푸시하는 경우 올바른 업스트림 설정이 필요합니다.

$ git push -u origin master

다음에서 사용되는 키를 확인할 수 있습니다.

$ ssh -vvv git@github.com

응답에는 다음과 같은 내용이 포함됩니다.

debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
...
You've successfully authenticated, but GitHub does not provide shell access.

에 대한 을 ssh로 ~/.ssh/config 에일리어스에 하고 있습니다). (예: 에일리어스:

   Host github
      HostName github.com 
      User git
      IdentityFile "~/.ssh/id_rsa"

   Host git
      HostName github.com 
      User git
      IdentityFile "~/.ssh/some_other_id"

에일리어스마다 다른 포트에 접속을 설정하거나 다른 사용자 이름을 사용할 수 있습니다.

GIT_SSH 를 GIT_SSH로 .unset GIT_SSH이것이 제 문제의 원인이었습니다.

단말기에서 다음 명령을 실행하여 ssh-agent가 실행 중인지 확인합니다.

eval $(ssh-agent -s)

출처: Github 문서

이것은 보통 SSH 키가 리모트와 일치하지 않기 때문에 발생합니다.

솔루션:

  1. 터미널로 이동하여 다음 명령(Mac, Linux)을 이메일 ID로 대체합니다.

    ssh-keygen -t rsa -C "you@email.com"

  2. 단어 ssh에서 시작하는 다음 명령을 사용하여 생성된 키를 복사합니다.

    cat ~/.cat/id_cat.pub

  3. 리모컨의 github, bitbucket 또는 gitlab에 각각 붙여넣습니다.
  4. 구하라.

Ssh 에이전트에 있는 올바른 키와 함께 잘못된 Bitbucket용 ssh 개인 키가 있습니다.

먼저 모든 키를 삭제했습니다.

ssh-add -D

그리고 딱 맞는 키를 추가했다.

ssh-add ~/.ssh/id_rsa

저도 같은 문제가 있었어요.

이 에러는, 코드가 푸시 되는 리모트 URL 로케이션을 지정하지 않은 것을 의미합니다.

리모트 URL 는, 주로 다음의 2 개의 방법으로 설정할 수 있습니다.

  1. Git Bash에서 명령을 실행하여 원격 URL을 지정합니다.

    • 프로젝트 디렉토리로 이동합니다.

    • Git Bash 열기

    • 명령 실행:

      • git remote set-url origin <https://abc.xyz/USERNAME/REPOSITORY.git>
  2. 구성 파일에서 직접 원격 URL 언급

    • 프로젝트 디렉토리로 이동합니다.

    • .git 폴더로 이동합니다.

    • 텍스트 편집기에서 구성 파일 열기

    • 행 아래에 복사하여 붙여넣기

      • [remote "origin"] url = https://abc.xyz/USERNAME/REPOSITORY.git fetch = +refs/heads/*:refs/remotes/origin/*

자세한 내용은 이 링크를 참조하십시오.

또 다른 회피책:

네트워크 문제 때문에 가끔 이런 일이 생기곤 해요.근본적인 문제를 완전히 이해하지는 못하지만 다른 서브네트워크로 전환하거나 VPN을 사용하면 문제가 해결됩니다.

저도 같은 실수를 했어요.츠키다★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★의 URL을 수정했습니다.git/configHTTPS "URL" "URL"런런식식식식다다

url = https://github.com/*your*git*name*/*your*git*app*.git

됐다.

드디어 해결책을 찾은 결과, 귀하는 환경변수로 간주되었습니다.exe 패스이 경로를 삭제하면 git bash를 다시 열고 SSH를 통해 복제를 시도합니다.

이 링크를 참조해 주세요.

http://sourceforge.net/p/forge/site-support/2959/ #http://http://sourceforge.net/p/forge/site-support/2959/

"git push origin master" 명령어 뒤에 "원격 저장소에서 읽을 수 없습니다"라는 오류가 나타나면 이 명령을 사용해 보십시오.

1.ssh-keygen -t rsa -b 4096 -C "youremail"
2.eval $(ssh-agent -s)
3.ssh-add ~/.ssh/id_rsa
4.clip < ~/.ssh/id_rsa.pub(it copies the ssh key that has got generated)
5.then go to your remote repository on github and goto settings-> SSH and GPG keys ->new SSH key ->enter any title and paste the copied SSH key and save it
6. now give git push origin master 

매우 간단한 솔루션이지만, 이하를 참조해 주세요.

문제
$ git clone git@github.com:xxxxx/xxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
이것도 타임아웃이 됩니다.
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
이거면 될 것 같아
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
SSH 설정 재정의
$ vim ~/.ssh/config

# You can also manually open the file and copy/paste the section below
# Add section below to it
Host github.com
  Hostname ssh.github.com
  Port 443
그럼 다시 해봐
$ ssh -T git@github.com
Hi xxxxx! You've successfully authenticated, but GitHub does not
provide shell access.
지금 바로 복제 시도(작동해야 함)
$ git clone git@github.com:xxxxxx/xxxxx.git my-awesome-proj
Cloning into 'my-awesome-proj'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), 22.90 KiB | 4.58 MiB/s, done.

참조: 여기 => 포트 443에서 HTTPS 사용

.git/config 파일에서

[remote "YOUR_APP_NAME"]
    url = git@heroku.com:YOUR_APP_NAME.git
    fetch = +refs/heads/*:refs/remotes/YOUR_APP_NAME/*

그리고 간단하게

git push YOUR_APP_NAME master:master 

정상적으로 동작하고 있었는데 마스터에게 푸시하려고 했을 때 갑자기 에러가 발생했습니다.제가 알게 된 것은 저장소 호스트에 문제가 있었기 때문입니다.

GitHub 또는 Bitbucket을 사용하면 다음 사이트에서 상태를 쉽게 확인할 수 있습니다.

https://status.github.com/messages 또는 https://status.bitbucket.org/

여기에 이미지 설명 입력

Gitlab을 사용하는 경우, Gitlab을 풀 또는 푸시하기 전에 로그인하여 Gitlab의 새로운 용어를 승인해야 할 수 있습니다.

Git용 HTTPS를 사용해야 합니다.

터미널에 다음을 입력합니다.

$ git remote set-url origin abc@***.com:path/to/httpURLRepo

다음으로 커밋:

$ git add .
$ git commit -m "This is the commit message"

2020년 10월 갱신

대부분의 경우 동일한 클라이언트시스템에서 같은 git서버에 접속하는 사용자가 여러 명 있는 경우, 그 시간 git서버는 두 사용자 모두 허용된 액세스키와 혼동되지만, 명령어를 실행하면 해당 사용자가 사용하는 기본사용자가 됩니다.

ssh -T git@gitlab.com

해당 사용자와 함께 푸시하려고 하는 활성 사용자 확인

간단한 솔루션은 Git 서버에서 사용되지 않는 사용자 공용 키를 제거합니다.

그럼 가져오거나 당기려고 해 봐, 푸쉬하면 될 거야

제 경우 github에서 인증하기 위해 ssh 키와 패스워드를 사용하고 있었습니다.Windows(sygwin만)에서 미인대회를 제대로 설정하지 않았습니다.누락된 단계는 git_ssh 환경변수를 plink.exe로 지정하는 것이었습니다.또, github.com 를 known_pink에 삽입할 필요가 있습니다.

   plink github.com
   y
   <then ctrl-c>

이게 도움이 됐으면 좋겠네요!

intellij가 좀 더 유용한 오류를 주거나 ssh 키 비밀번호를 입력하도록 요청했으면 좋았을 텐데.

user@server:/etc/nginx$ cat .git/config 
...
[remote "origin"]
    url = git@gitlab.com:user/.git
    fetch = +refs/heads/*:refs/remotes/origin/*
...

  1. https 대신 ssh를 사용합니다.
  2. git에서 ssh 키를 사용하려면 ssh 키를 추가합니다.
  3. 루트인 경우 ssh 키를 사용합니다.

$ sudo ssh-keygen
$ cat /root/.ssh/id_rsa.pub 

$ git init
$ git add file
$ git commit -m "add first file"
$ git remote add origin git@gitlab.com:user/example.git 
$ git push -u origin master

단말기를 재기동해, 이 문제를 해결했습니다(새로운 창/탭을 엽니다).

따라서 근본적인 문제를 이해하고 싶지 않거나 이해할 필요가 없는 경우, 자세한 내용을 조사하기 전에 테스트 방법을 시도해 볼 필요가 있습니다.

새로운 키 생성, GitHub 계정 추가, .ssh/config 편집, .git/config 편집 등 모든 것을 시도해 보았습니다.하지만 여전히 그것은 나에게 같은 오류를 주고 있었다.그 후, 다음의 커맨드를 실행해 보았더니, 정상적으로 동작합니다.

ssh-agent bash -c 'ssh-add ~/.ssh/id_rsa; git clone git@github.com:username/repo.git'

는 지금 이 과 같이했다. git config user.email "youremail".


업데이트: 네트워크 불량과 프록시 불량일 수 있습니다.왜 그런 일이 일어났는지 아직 모르지만, 매번 이 에러가 발생할 때마다 이 명령어는 동작합니다.

제 경우 비트버킷의 웹 SSH 키 설정 UI가 혼란스럽습니다.

저장소 설정 -> 액세스 키 -> 키 추가: 오류

개인 설정 -> SSH 키 -> 키 추가 : OK

공개 키 등록 화면은 상호 배타적입니다.공용 키는 한 곳에만 등록해야 합니다.하나의 화면으로 통일하는 것이 좋을 것 같습니다.

저 같은 경우에는 사내 네트워크(인터넷 접속 없음)를 사용하고 있습니다.github에서 코드를 풀하려면 gitbash에서 https 프록시를 설정하고 ssh 대신 https를 사용하여 코드를 풀하면 됩니다.그러나 푸시 코드의 경우 https 프록시는 작동하지 않습니다.따라서 인터넷 네트워크(인터넷 연결 포함)로 전환하거나 set ssh proxy를 사용하면 문제를 해결할 수 있습니다.

실제로 Win7에서 동작시키기 위해 여러 가지 시도를 했습니다.왜냐하면 SSH exectun fron을 build-it로 원어민으로 변경했기 때문입니다.".git/config" 파일에서 다음과 같이 HTTPS로 변경합니다.

[remote "origin"]
        url = https://github.com/user_name/repository_name.git
        fetch = +refs/heads/*:refs/remotes/origin/*

마침내 효과가 있었어요그럼 너도 잘 될 거야

저도 같은 문제가 있었는데 잠시 후 root user(sudo -s) 아래에 있다는 것을 알게 되었습니다.누군가에게 도움이 되길.

윈도우 10에서 gitbash를 사용하는데 문제가 있었습니다.저는 이 문제를 해결하기 위해 다음과 같은 몇 가지를 시도했습니다.

  1. ssh 키를 재생성하여 비트버킷으로 업데이트.도움이 되지 않았다
  2. 이를 사용하여 디버깅을 켜면 다음과 같이 "채널 0에서 셸 요청이 실패했습니다"라는 메시지가 표시됩니다.
  3. Windows PC를 재기동.

위 중 어느 것도 도움이 되지 않았다.윈도우용 Git을 다시 설치하게 되었습니다.다른 것에 비해 몇 분밖에 걸리지 않아 문제가 해결되었습니다!

이 문제는 Windows 11에서 다음 명령을 사용하여 해결되었습니다.

1. Git Bash 명령어를 열어 ssh-agent를 기동했습니다.

eval "$(ssh-agent -s)" // this command only work in git bash.

2. ssh-key로 추가

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  //it must be 4096
ssh-add id_rsa

3. 올바르게 추가되었는지 확인합니다.

ssh-add -l

4. 공개키를 GitHub에 (Authorization key)로 올렸습니다.

cat id_rsa.pub | clip

5. 프록시 및 GIT_SSH 변수 설정 해제

unset GIT_SSH
git config --global --unset http.proxy
git config --global --unset https.proxy

6. github.com을 확인해야 합니다.

ping github.com

7. 이제 Connectivity with Github을 체크합니다.

ssh -T git@github.com

산출량

호스트 github.com(20.207.73.82)의 신뢰성을 확립할 수 없습니다.ED25519 키 지문은 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 이 키는 다른 이름으로 알려져 있지 않습니다. 연결을 계속하시겠습니까(예/아니오/[지문]?예 경고: 알려진 호스트 목록에 'github.com'(ED25519)이 영구적으로 추가되었습니다.안녕하세요 MHamza Rajput!인증은 성공했지만 GitHub은 셸 액세스를 제공하지 않습니다.

언급URL : https://stackoverflow.com/questions/13509293/git-fatal-could-not-read-from-remote-repository