Git SSH 오류: 포트 22: 호스트에 대한 경로가 없습니다.

Git SSH 오류: 포트 22: 호스트에 대한 경로가 없습니다.

나는 setup git을 사용하여 github에 사용하려고 시도한 다음 도움말 문서를 따랐을 때 그러나 도착했을 때SSH 키 설정 섹션의 5단계:모든 것을 테스트하세요. 이 명령을 사용했을 때 오류가 발생했습니다.ssh -T [email protected]

ssh: 호스트에 연결 github.com 포트 22: 호스트에 대한 경로 없음

그런 다음 다음 명령을 사용했습니다.

ssh -vT [email protected]

내가 얻은 것은 다음과 같습니다.

OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /home/jacos/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: No route to host
ssh: connect to host github.com port 22: No route to host

잠시 구글링을 해보니 iptables가 포트를 차단했는지 확인해야 한다는 것을 알았습니다. 결과는 다음과 같습니다.

~$ sudo /sbin/iptables -L -n
[sudo] password for jacos: 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:67 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:67 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            10.42.43.0/24       state RELATED,ESTABLISHED 
ACCEPT     all  --  10.42.43.0/24        0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

그리고 Gilles가 제안한 명령을 시도했습니다.

tcptraceroute github.com 22

내가 얻은 것은 다음과 같습니다.

Selected device eth0, address 222.20.58.XX(sorry...I masked part of my ip), port 33281 for outgoing packets
Tracing the path to github.com (207.97.227.239) on TCP port 22 (ssh), 30 hops max
 1  222.20.58.254  0.891 ms  0.850 ms  0.693 ms
 2  zxq-xs-h3c7510e.hust.edu.cn (115.156.255.137)  1.253 ms  1.569 ms  2.837 ms
 3  zxq-xs-rjs8606.hust.edu.cn (115.156.255.130)  0.729 ms  0.678 ms  0.629 ms
 4  115.156.255.174  0.794 ms  6.279 ms  16.569 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
Destination not reached

115.156.255.174에 경로가 멈춘 것 같은데 어디인지는 모르겠습니다.

나는 그것이 무엇을 의미하는지 알 수 없습니다. 포트 22를 차단합니까?

그런데 인터넷에 접속하여 github.com을 방문할 수 있습니다. 그리고 우분투 11.10을 사용하고 있습니다.

누구든지 도와줄 수 있나요? 감사해요!

답변1

귀하의 INPUT체인은 모든 것을 받아들입니다. 체인을 표시하지 않았지만 OUTPUT체인도 모든 것을 허용한다고 가정하겠습니다. 이는 귀하와 Github 사이의 연결이 차단되었음을 의미합니다. 학교 방화벽이 포트 22로 나가는 연결을 차단할 수도 있습니다.

다음을 설치하면 패킷이 차단되는 위치를 더 잘 파악할 수 있습니다.tcptraceroute tcptraceroute 설치그리고 달리기 tcptraceroute github.com 22.

학교 관리자에게 포트 22를 열어달라고 요청하거나 적어도 (그들이 꺼린다면) 포트 22를 github.com. 귀하의 네트워크 사용은 심각한 사용이므로 학생들에게 허용되어야 합니다.

관리자가 꼼짝하지 않고 프록시를 사용하여 웹에 연결하는 경우 프록시가 트래픽을 릴레이하도록 할 수 있습니다(프록시 구성 방법에 따라 작동할 수도 있고 작동하지 않을 수도 있음). 보다포트 80을 통해 SSH가 가능합니까?

그런데 규칙과 정책 INPUT만 있으므로 체인은 들어오는 모든 트래픽을 허용합니다 . 일반적인 규칙 세트는 검사되지 않은 포트에서 들어오는 UDP 트래픽을 차단하고 검사되지 않은 포트에서 들어오는 TCP 연결을 차단합니다.ACCEPTACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -P INPUT DROP

답변2

귀하의 의견에 따르면 학교에는 포트 80이 아닌 모든 트래픽 또는 허용 목록에 없는 모든 트래픽을 차단하기 위한 일종의 필터가 마련되어 있는 것이 거의 확실합니다. 문서에 나온 대로 SSH HTTP 터널을 사용하면 문제를 해결할 수 있습니다.여기또는 브라우저 기반 SSH 클라이언트를 사용해 볼 수도 있습니다.여기에 표시된 대로.

관련 정보