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


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.