SSH : 호스트 github.com 포트 22에 연결 : 연결 시간 초과


174

나는 프록시 아래에 있으며 꽤 오랫동안 성공적으로 git을 추진하고 있습니다.
이제 갑자기 git을 넣을 수 없습니다.
나는 RSA 키와 프록시를 설정하고 그들을 다시 확인했는데 아무 소용이 없으며 git이 페이지 제목에 표시된 오류를 던졌습니다.


6
다음, 모바일 장치에서 핫스팟을 생성 모바일 장치를 통해 연결 git push. 나를 위해 일했다.
zundi


1
영국에서도 Virgin Media와 동일한 문제가 발생했습니다. 집에서 ssh를 통해 GitHub에 푸시 / 풀을 시도했지만 운이 없었지만 직장에서는 괜찮 았습니다. 그래서 ISP에 문제가 있음을 깨달았습니다. 간단한 수정은 1.1.1.1@zundi가 모바일 핫스팟을 통해 성공하는 기본 설정 대신 Cloudflare DNS를 사용하는 것이 었습니다 .
Vladyslav Krylasov

답변:


254

그 이유는 네트워크에서 방화벽을 수정 한 것일 수 있습니다. (이 경우 의도적으로 일부 포트를 차단할 수 있습니다)
이것이 이유인지 다시 확인하려면 ...

ssh -T git@github.com

시간이 초과되어야합니다. 이 경우 ssh 대신 http 프로토콜을 사용
하면 구성 파일의 URL을 http로 변경하면됩니다.
방법은 다음과 같습니다.

git config --local -e

입장 변경

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

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

6
이 문제가 한 번 발생했지만 컴퓨터를 다시 시작하면 문제가 해결되었습니다.
Kevin Lee

3
치명적 : ' gitlab.com 에 액세스 할 수 없음 : ******. git /': 포트 번호가 'f'로 끝남
Fakher

이것이 나를 위해 작동하려면 URL에서 .git을 제거해야했습니다. url = github.com/username/repo
Jesse Buss

4
ssh 대신 https를 사용하는 것이 올바른 해결책이 아닙니다. 이를 해결하려면 git config 및 ssh 설정에서 프록시를 설정하는 방법이 있어야합니다.
shijin

6
Virgin Media UK에는 어린이 안전 모드가있어 비활성화해야했습니다.
Finlay Percy

178

내 경우에는 제안 된 솔루션 중 어느 것도 효과가 없었으므로 직접 해결하려고했지만 해결되었습니다.

나에게 AWS EC2 UBUNTU 인스턴스 에서이 오류가 발생했습니다.이 문제를 해결하기 위해 ssh 구성을 편집하거나 존재하지 않는 경우 추가했습니다.

sudo nano ~/.ssh/config

그리고 나는 다음을 추가했습니다

Host github.com
 Hostname ssh.github.com
 Port 443

그런 다음 명령 ssh -T git@github.com을 실행하여 문제가 해결되었는지 확인하십시오.

에 따르면

때때로 방화벽은 SSH 연결을 완전히 허용하지 않습니다. 자격 증명 캐싱과 함께 HTTPS 복제를 사용하는 것이 옵션이 아닌 경우 HTTPS 포트를 통해 만들어진 SSH 연결을 사용하여 복제를 시도 할 수 있습니다. 대부분의 방화벽 규칙에서이를 허용해야하지만 프록시 서버가 방해 할 수 있습니다.

잘하면 이것은 내가했던 것과 같은 문제가있는 다른 사람들을 도울 수 있기를 바랍니다.


3
이 솔루션은 GitLab의 문제를 해결하지는 않았지만 나에게 잘 작동했습니다. 이 경우 GitLab.com은 방화벽으로 사용되지 않는 일반적으로 사용되는 포트 443에서 수신 대기하는 두 번째 SSH 서버를 실행합니다. ~/.ssh/configGitLab.com에 연결하는 방법을 수정 하고 변경하기 만하면됩니다. 이 경우이 기사를 참조하십시오 : about.gitlab.com/2016/02/18/…
lucascavalcante

1
안녕하세요, 같은 문제가 발생했습니다. 라우터가 NET에서 왔으며 22 포트를 차단했습니다. 그 설정은 내 문제를 확실히 해결했다
Pedro Soares

그것은되지 gitconfig (설정) 만 ssh설정
GuyT

1
anwers를 찾는 몇 시간 후에 ... 당신은 CHAMP입니다. 어쨌든 우리는 왜 github.com을 ssh.github.com으로 변경해야합니까? 나는 아직도 그것을 얻을하지 않습니다
로버트 티르에게

45

기본 URL 재 작성

Git은 git config를 사용하여 URL을 다시 쓰는 방법을 제공합니다. 다음 명령을 발행하십시오.

git config --global url."https://".insteadOf git://

자, 마술처럼, 모든 자식 명령의 대체 수행 git://에를https://

출처 : git : // 프로토콜이 회사에 의해 차단되었습니다. 어떻게 해결할 수 있습니까?


1
감사! 우리는 Jenkins 빌드 중에 git 파일을 수동으로 편집 할 수 없었습니다 (jenkins 계정에 git 자격 증명이 없음)-이것은 매우 유용했습니다.
Phil

1
대단하다. 각각 쉽게 전환 할 수 있도록 git aliases를 추가했습니다.
lfender6445

17
github와 관련하여 명령은 다음과 같아야합니다 git config --global url."https://github.com/".insteadOf git@github.com:. 차이를주의 : @이됩니다 //:이된다 /.
Frodon

20

.ssh 폴더 안에 "config"파일 생성

Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

1
왜 이런 일이 발생하는지에 대한 자세한 설명은 Mahan_F 답변을 참조하십시오.
refaelio

1
이것이 GitLab에서 나를 위해 일한 유일한 것입니다. 고마워요
awwsmm

5

빠른 해결 방법 : 다른 네트워크로 전환 해보십시오

핫스팟 (3 / 4G 연결)에서이 문제가 발생했습니다. 다른 연결 (WiFi)로 전환하면 문제가 해결되었지만 해결 방법 일뿐입니다. 문제의 맨 아래에 도달 할 기회를 얻지 못했기 때문에 기본 답변을 결정하는 데 다른 답변이 더 흥미로울 수 있습니다.


WiFi에서 4G로 전환했는데 작동했습니다. 나도 이해하지 못한다.
Adam Casey

4

나는 같은 문제에 직면하여 작동하는 해결책을 찾지 못했습니다. 로컬 서버를 설정하는 동안이 문제에 직면했으며 git은 프록시 네트워크를 통해 연결할 수 없지만 워크 스테이션은 연결할 수 없습니다. 이것은 명령을 실행할 때의 출력이었습니다. ssh -vT git@github.com

ubuntu@server:~$ ssh -vT git@github.com
OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /home/ubuntu/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [13.234.176.102] port 22.

그래서 구성 파일을 편집하여 HTTPS 포트를 통해 SSH 연결을 시도 ~/.ssh/config했지만 아무 소용이 없습니다.

Host github.com
 Hostname ssh.github.com
 Port 443

마지막으로 실제 문제를 해결하고 노출시킨 이 기사 를 찾았습니다 .

# github.com
Host github.com
    Hostname ssh.github.com
    ProxyCommand nc -X connect -x <PROXY-HOST>:<PORT> %h %p
    Port 443
    ServerAliveInterval 20
    User git

이것은 내 구성 파일이며 git은 ssh를 통해 완벽하게 작동합니다!


3

실행 :

nc -v -z <git-repository> <port>

출력은 다음과 같아야합니다.

"Connection to <git-repository> <port> port [tcp/*] succeeded!"

당신이 얻는다면 :

connect to <git-repository> <port> (tcp) failed: Connection timed out

~ / .ssh / config 파일을 편집해야합니다. 다음과 같은 것을 추가하십시오 :

Host example.com
Port 1234

5
모든 사람이 nc설치 될지 확신 할 수 없습니다 . 그게 뭐야? 넷캣이나 뭔가?
Hack-R

2

나는이 똑같은 문제를 겪고 있었지만 내가 찾은 대답은 달랐습니다. 누군가 가이 문제를 겪을 수도 있다고 생각했기 때문에 여기에 내 해결책이 있습니다.

나는 포트에 대한 화이트리스트 2 개 IP를해야했다 22, 80, 443, 및 9418:

  • 192.30.252.0/22

  • 185.199.108.0/22

이 IP가 작동하지 않는 경우 IP가 업데이트 되었기 때문에이 페이지 에서 최신 IP를 찾을 수 있습니다 .


0

위의 답변은이 문제를 해결하는 데 필요한 정보를 제공했습니다. 제 경우에는 URL이 ssh : ///로 잘못 시작했습니다.

git config의 URL이 올바른지 확인하려면 git config 파일을여십시오.

git config --local -e

URL 항목을 확인하십시오. 시작시 ssh : ///가 없어야합니다.

잘못된 입장 :

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

올바른 입장 :

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

URL이 올바른 경우 다음 단계는 프로토콜을 http로 변경하도록 제안하는 위의 답변을 시도하는 것입니다.


0

실수로 게스트 Wi-Fi 네트워크 로 전환했을 때이 오류가 발생했습니다. 기본 와이파이 네트워크로 다시 전환해야했습니다 .


0

나는 2 시간 동안이 문제를 겪었고 https에서 "s"를 제거하고 다음을 수행합니다.

git clone -b <branchName> http:<projecturl>

고쳤다.


답변으로 태그를 지정하여이 질문을 닫으십시오
Clément

0

문제 : 문제 를 생성하는 단계 : 새 랩톱에서 처음으로 git clone git@github.com : sramachand71 / test.git 오류 ssh : 호스트 github.com에 연결 포트 22 : 연결 시간 초과 치명적 : 원격에서 읽을 수 없음 저장소.

올바른 액세스 권한이 있고 저장소가 존재하는지 확인하십시오. 솔루션 시스템에서 처음으로 복제하려면 clone 명령에 큰 따옴표를 지정해야합니다. $ git clone "git@github.com : sramachand71 / test.git"모든 것이 정확하지만 처음에는 새로운 인용 또는 "사용자"에 대한 URL "repository_url.git"에 대해 큰 따옴표가 필요하다는 것을 알게 된 후에도 시스템에서이 문제에 직면합니다 시스템에서.


0

repo URL을 ssh에서 https로 변경하는 것은 나에게별로 의미가 없습니다. 내가 선호하는 것처럼 ssh이상 https때문에 내가 버리고 싶지 않아 추가 혜택 어떤 종류의. 위의 답변은 꽤 좋고 정확합니다. GitLab에서이 문제가 발생하면 공식 문서 페이지 로 이동 하여 구성 파일을 변경하십시오.

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab

0

컴퓨터를 다시 시작하면 해결되었습니다.
Git 버전 : 2.27.0.windows.1
OS 버전 : Windows 10 v1909

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