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


356

내 사이트를 관리하기 위해 http://danielmiessler.com/study/git/#website 로 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이어야합니다. 그렇다면이 방법을 변경하거나 별칭 아래로 밀어 넣을 수 있는지 모르겠습니다.


1
같은 문제가 발생했습니다. 때때로이 오류는 자식 서버에 연결할 수 없거나 "내부 서버 오류"와 같은 것이있을 때 발생합니다.
Morteza Ziyae

2
먼저 .git/config파일을보고 모든 것이 올바른지 확인하십시오. 나를 위해 잘못된 set-url 및 origin 값이있었습니다.
mixdev

아마도 이것은 문제를 해결할 것입니다 : help.github.com/articles/connecting-to-github-with-ssh
Guy Avraham


.git / config의 올바른 순서와 .ssh / config ... coz의 순서를 잘 보여줄 수 있습니까?
gumuruh

답변:


134

SSH가 원격 URL의 일부로 원격 시스템에 전송해야하는 사용자 이름을 지정할 수 있습니다. @원격 호스트 이름 앞에 사용자 이름 뒤에을 입력하십시오 .

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

3
ps, 암호를 입력하지 않아도 암호를 추가하는 방법이 있습니까?
LDN

15
.git/config원격 URL 매개 변수가 있는 파일 편집
Sayanee

@ user61629 : 나는 파티에 늦었다는 것을 알고 있지만 암호 대신 개인 / 공개 키 쌍을 사용하는 것이 좋습니다.
code_dredd

어떤 사용자 이름? 컴퓨터 사용자 이름 또는 github 사용자 이름?
에이전트 Zebra

11
Github의 경우 항상 username을 사용합니다 git. 예 : git@github.com:mayoff/uiimage-from-animated-gif.gitGithub은 어떤 SSH 키를 전송하여 신원을 파악합니다.
rob mayoff 2012 년

189

ssh 키가 ssh 에이전트에서 제거되었을 가능성이 높습니다

ssh-add ~/.ssh/id_rsa

여기서 id_rsa는 git repo와 관련된 ssh 키입니다.


7
이것은 나를 위해 일했다! ~ / .ssh / config 파일을 구성하여 호스트마다 다른 키를 사용하도록 오랜 시간을 보냈습니다.이 파일이 문제라고 생각했습니다. 결국, 올바른 호스트에 올바른 키를 사용해야했지만 해당 키가 "제거되었습니다". 그래서 ssh-add ~/.ssh/theKeyInQuestion나 키가 제거 알고, 또는 무엇을 "제거"도 의미하지만 적어도 나는 다시 인증을받을 수 있었다 didnt는이 REPO으로 백업 실행되었다. SSH는 몇 달 동안 인증 문제를 처리 한 후에도 완전히 미스터리입니다. ssh 에이전트 문제는 한 가지 더 알아야 할 사항입니다!
Alex Bollbach

고마워요 .. 이것은 내 GitLab 계정에 SSH 키를 생성, 삭제 등을 시도한 후에 마침내 작동했습니다 .... 감사합니다 !!
Bms bharadwaj

이것은 내 문제를 해결했습니다. 서버에 새로 생성 된 ssh 키가 이미 있습니다. 이 키를 추가해야합니다 !!
카샨

1
이것은 나를 위해 그것을 해결했습니다. 왜 그런지 이해하지 못합니다. 그것은 작동했습니다. 갑자기 작동하지 않았습니다. 에이전트에서 키를 제거하는 프로세스가 있습니까? 우연히 일어날 수 있습니까?
Miguel Stevens

왜 그런가요? 하루 종일 일했지만 저녁에는 일을 멈췄습니다. 이 답변이 도움이되었습니다.
Andrey Semakin

130

올바른 URL이 있는지 확인하십시오 .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/config별칭을 기반으로 ssh에 대한 규칙을 정의 할 수 있습니다 .

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

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

별명마다 다른 포트에 연결을 설정하고 다른 사용자 이름 등을 사용할 수 있습니다.


1
감사합니다!! 어느 시점에서 리포지토리를 복제했을 때가 ()없이 url설정되어 SSH 키 사용을 거부했습니다. 어쩌면 원래 Windows 용 GIthub을 사용하여 복제했기 때문일 수 있습니다 (?)https://github.com/user/repo.gitgit@github.com
Jedidja

로 바꿔야 url = ssh://github.com/RaphaelBossek/dev-atlassian-jira-proman.git했고 url = ssh://git@github.com/RaphaelBossek/dev-atlassian-jira-proman.git다시 작동했습니다
Raphael Bossek

젠장, 넌 대단해 나는 다른 많은 해결책을 시도했다. 내 URL은 https :뿐만 아니라 :(
agrublev

-vvv힌트 나에게 도움이되었다. 이제 "XXX.XXX.XXX.X 포트 22로 연결이 닫혔습니다"라는 메시지가 표시됩니다.
Ryan

Ahhh, DeployHQ는 "BitBucket에 현재 약간의 서비스 문제가 있습니다. 자세한 내용은 상태 페이지를 확인하십시오. status.bitbucket.org "Bingo.
Ryan

123

얼마 전에 같은 문제에 직면했습니다 ...

내 .git / config는

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

나는 그것을 대체했다

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

그리고 그것은 지금 작동합니다 :)


8
이것은 어떻게 높은 순위에 있지 않습니까? git @ github 완전히 작동하지 않습니다
hlitz

3
repo 소유자가 ssh키를 설정하지 않은 경우이 문제가 발생했을 수 있습니다. 표시된 수정은 https대신 사용 하거나 ssh
리포지토리

@smileham 이것은 ssh 기반 인증에서 https 프로토콜로 repo와의 먼 링크를 전환합니다 (필요한 경우 usr / pwd를 요구합니다)
Vincent Chalmel

이것은 정답입니다, 그것은 나를 위해 즉시 일했습니다.
킹스턴 포춘

GOT의 누군가를 위해 git remote set-url ...나 (!) 같은 날 또는 누가 어리석게도 자신의 이름에 큰 케이스 알파벳을 (예를 들어 페드로)과 같은 잘못이 따라야합니다. 그것은 효과가 있었다 :)
Pe Dro

23

로 GIT_SSH 환경 변수를 제거하십시오 unset GIT_SSH. 이것이 내 문제의 원인이었습니다.


1
내가 :)에서 GIT_SSH 환경 변수를 어디서 얻었 작품 .. 궁금
StrangeLoop

1
Windows의 경우 고급 옵션 메뉴에서 GIT_SSH 환경 변수를 제거하십시오. 나를 위해 일했다.
splintercell

어떻게? 터미널에 무엇을 쓰나요?
Zebra 요원

17

터미널에서 다음 명령을 실행하여 ssh-agent가 실행 중인지 확인하십시오.

eval $(ssh-agent -s)

출처 : Github 문서


이것은 나에게도 문제를 해결합니다. 감사합니다
Ahmad

이것은 나를 위해 그것을 고쳤다. 앞으로 실행되도록하기 위해해야 ​​할 일이 있습니까? 내 .zshrc파일에 항목으로 넣는 것처럼 ?
브래디 다울 링

14

이것은 일반적으로 SSH 키가 원격 장치와 일치하지 않기 때문에 발생합니다.

솔루션 :

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

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

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

    고양이 ~ / .ssh / id_rsa.pub

  3. 리모컨마다 github, bitbucket 또는 gitlab에 붙여 넣습니다.
  4. 저장해.

9

나는 같은 문제가 있었다.

이 오류는 코드가 푸시 될 원격 URL 위치를 지정하지 않았 음을 의미합니다.

2 가지 (주로) 방법으로 원격 URL을 설정할 수 있습니다.

  1. Git Bash에서 명령을 실행하여 원격 URL을 지정하십시오.

    • 프로젝트 디렉토리로 이동

    • 힘내 배쉬 열기

    • 실행 명령 :

      • 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/*

자세한 정보는이 링크를 방문하십시오 .



7

나는 같은 오류가 있었다. 해결책은 다음과 같습니다 .git/config. 에서 URL을 수정했습니다 . HTTPS 복제 URL에서 복사했습니다. 그것은 다음과 같습니다.

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

효과가있었습니다.


Windows OS에서 내 구성 파일에 이것을 쓴 경우 오류가 다르게 발생했습니다. "/c/Users/asus/.ssh/config : line 5 : 잘못된 구성 옵션 : url"
gumuruh

ssh를 통한 https 사용은 잘 작동하며 사용자 이름과 비밀번호를 요구합니다
Kiran

4

다른 해결 방법 :

때때로 이것은 네트워크 문제로 인해 나에게 발생합니다. 근본 문제를 완전히 이해하지 못하지만 다른 하위 네트워크로 전환하거나 VPN을 사용하면 문제가 해결됩니다.


내 사건이야 이 의견을 읽었 으면 좋겠다. 몇 시간의 디버깅 후 VPN 사용을 고려하여 작동했습니다.
Chaitanya Bapat

4

Gitlab을 사용하는 경우 당기거나 밀기 전에 로그인하고 Gitlab의 새로운 약관에 동의해야 할 수도 있습니다.


왜 공감해야합니까? 같은 날에 내 문제를 해결했는데 새로운 gitlab 용어와 관련이있었습니다.
Marcelo Agimóvel

downvote를 제거하십시오. 이것은 유효한 답변이며 gitlab 용어가 변경된 후에 발생합니다. gitlab 새 용어를 수락하면 문제가 해결 될 수 있습니다.
Marcelo Agimóvel

3

.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 

3

제 경우에는 암호가있는 ssh 키를 사용하여 github으로 인증했습니다. Windows에서 미인 대회를 올바르게 설정하지 않았습니다 (cygwin에서만). 누락 된 단계는 git_ssh 환경 변수가 plink.exe를 가리 키도록하는 것입니다. 또한 github.com을 plink known_hosts로 가져와야합니다.

   plink github.com
   y
   <then ctrl-c>

도움이 되었기를 바랍니다!

나는 intellij가 나에게 더 유용한 오류를 주었거나 ssh 키 비밀번호를 입력하도록 요청하는 것이 좋겠다고 확신합니다.


3

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

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

ssh-add -D

그런 다음 올바른 키만 추가했습니다.

ssh-add ~/.ssh/id_rsa

2

제 경우에는 사무실에서 회사 네트워크 (인터넷 연결없이)를 사용하고 있습니다. github에서 코드를 가져 오기 위해 gitbash에서 https 프록시를 설정 한 다음 ssh 대신 https를 사용하여 코드를 가져옵니다. 그러나 푸시 코드에 관해서는 https 프록시가 작동하지 않습니다. 따라서 인터넷 네트워크 (인터넷 연결)로 전환하거나 ssh 프록시를 설정하면 문제를 해결할 수 있습니다.


2

실제로 SSH exectun fron native를 build-it 및 back and 동일한 오류로 변경했기 때문에 Win7에서 작동하도록 많은 것을 시도했습니다. 우연히, ".git / config"파일에서 다음과 같이 HTTPS로 변경합니다.

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

마침내 효과가있었습니다. 아마도 그것은 당신에게도 효과가있을 수 있습니다.


2

나는 똑같은 문제를 겪었고 잠시 후 나는 루트 사용자 (sudo -s 사용)를 보았다. 누군가에게 도움이 되길 바랍니다.


컴퓨터와 BitBucket에서 ssh 키를 설정 한 경우에도 'sudo'명령으로 'git pull'을 실행하려고하면이 오류가 계속 표시됩니다.
ElectroBuddha

2

"git push origin master"명령 u 뒤에 "원격 저장소에서 읽을 수 없음"오류가 표시되면이를 시도하십시오.

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 

2

나는 완벽하게 잘 작동하는 자식을 가지고 있었고 갑자기 마스터에게 푸시하려고 할 때 오류가 발생했습니다. 내가 알다시피, 그것은 저장소 호스트에 문제가 있었기 때문입니다.

GitHub 또는 Bitbucket을 사용하면 쉽게 상태를 확인할 수 있습니다

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

여기에 이미지 설명을 입력하십시오


1

나는 같은 오류가있어서 도움이되지 않은이 대답을 얻었습니다. 아래 명령을 사용하여 NTFS 위치를 추적하기 위해 처음으로 새 "베어"리포지토리를 만들려고했습니다.

cd myrepository
git init --bare \\myserver.mycompany.local\myrepository.git
git init
git status
git add .
git status
git commit -m "Initial Commit"
git remote add origin \\myserver.mycompany.local\myrepository.git
git push -u origin master
git status

내 문제는 (새로운) 추적 된 업스트림 분기를 설정하기 위해 원점을 추가하려고 할 때 NTFS 위치에서 슬래시 대신 백 슬래시를 사용하는 것으로 나타났습니다.

다음을 사용하여 원점을 제거해야했습니다.

git remote rm origin

그런 다음 예상 슬래시를 사용하여 원점을 다시 추가하십시오.

git remote add origin //myserver.mycompany.local/myrepository.git

이것이 미래의 누군가를 돕기를 바랍니다.


1

컴퓨터를 변경 한 후이 오류가 발생했습니다. Bitbucket과 함께 SourceTree를 사용하고 있습니다.

그래서 웹의 Bitbucket 계정에 연결된 상태에서 SourceTree가 생성 한 SSH 키를 새 컴퓨터의 Bitbucket 설정> 보안> SSH 키에 추가해야했습니다.


1

터미널다시 시작 하여이 문제를 해결했습니다 (새 창 / 탭 열기).

따라서 근본적인 문제를 이해하고 싶지 않거나 필요로하지 않는다면 테스트 방법은 더 깊이 파고 들기 전에 시도해 볼 가치가 있습니다. :)


0

개인 원격 저장소에이 문제가있는 사용자 원격 서버에서 Xcode 계약을 수락했는지 확인하십시오.이 수정 사항을 찾는 데 몇 주가 걸렸습니다.

명령 행에서 다음 명령을 사용하십시오. sudo xcodebuild -license


0

나는 단지 그것을 쉽게 고칠 수 있다는 것을 공유하고 싶었다.

접근 불가. 치명적 : 원격 저장소에서 읽을 수 없습니다. 올바른 액세스 권한이 있고 저장소가 존재하는지 확인하십시오.

gitlab에서 로그 아웃하고 다시 로그인하십시오. 그런 다음 문제를 해결해야합니다.


0

퍼티 / 미인 사용시 미인에 올바른 SSH 키를 추가해야합니다. 그렇지 않으면이 오류가 표시됩니다. DUH



0

MINGW32 터미널로 이동하여 다음 명령을 입력하십시오 : git branch --set-upstream-to = origin / (분기 이름)


0

여전히 같은 오류가 발생하면 git settings-> ssh tab-> ssh client to use에서 openSSH 로 설정되어 있는지 확인하십시오여기에 이미지 설명을 입력하십시오


0

내 경험에 따르면, 이 문제가 발생한 이유 중 하나는 인터넷 연결불안정 하기 때문 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.