Lỗi Git ssh: cổng 22: không có tuyến đến máy chủ


8

Tôi đã thử sử dụng thiết lập git và sử dụng nó cho github, sau đó khi tôi làm theo tài liệu trợ giúp, nhưng khi tôi đến bước 5 của phần thiết lập khóa ssh : Kiểm tra mọi thứ, Khi tôi sử dụng lệnh này: ssh -T git@github.comTôi gặp lỗi :

ssh: kết nối với máy chủ github.com cổng 22: Không có tuyến đến máy chủ

Sau đó, tôi đã sử dụng lệnh này:

ssh -vT git@github.com

Đây là những gì tôi nhận được:

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

Tôi googled một lúc và thấy tôi phải kiểm tra xem iptables có chặn cổng không. Vì vậy, đây là kết quả:

~$ 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

Và tôi đã thử lệnh được đề xuất bởi Gilles:

tcptraceroute github.com 22

Đây là những gì tôi nhận được:

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

Có vẻ như tuyến đường dừng ở 115.156.255.174, mà tôi không biết nó ở đâu.

Tôi không thể hiểu ý nghĩa của nó. Nó có chặn cổng 22 không?

Nhân tiện, tôi có thể truy cập Internet và truy cập github.com. Và tôi đang sử dụng Ubuntu 11.10.

Bất cứ ai có thể giúp đỡ với điều này? Cảm ơn!


Bạn có kết nối với internet thông qua một máy chủ proxy?
jackweirdy

@jackweirdy Không, tôi là sinh viên sử dụng mạng ở trường. Có thể là cổng 22 bị chặn bởi trường học của tôi?
Gnijuohz

Câu trả lời:


3

INPUTChuỗi của bạn chấp nhận mọi thứ. Bạn đã không hiển thị OUTPUTchuỗi của mình , nhưng tôi sẽ cho rằng nó cũng chấp nhận mọi thứ. Điều này ngụ ý rằng kết nối bị chặn ở đâu đó giữa bạn và Github. Có thể tường lửa của trường bạn chặn các kết nối gửi đến cổng 22.

Bạn có thể có được một ý tưởng tốt hơn về nơi các gói của bạn bị chặn bằng cách cài đặt tcptraceroute Cài đặt tcptraceroute và chạy tcptraceroute github.com 22.

Yêu cầu quản trị viên của trường bạn mở cổng 22 hoặc ít nhất (nếu họ miễn cưỡng) cổng 22 đến github.com. Việc sử dụng mạng của bạn là sử dụng nghiêm túc, cần được phép cho sinh viên.

Nếu quản trị viên không nhúc nhích và bạn sử dụng proxy để kết nối với web, bạn có thể lấy proxy để chuyển tiếp lưu lượng truy cập (nó có thể hoặc không hoạt động, tùy thuộc vào cách proxy được định cấu hình). Xem Có thể SSH qua cổng 80 không?

Nhân tiện, INPUTchuỗi của bạn cho phép tất cả lưu lượng truy cập đến, vì bạn chỉ có ACCEPTquy tắc và ACCEPTchính sách. Một bộ quy tắc thông thường sẽ chặn lưu lượng truy cập UDP đến trên các cổng không được kiểm duyệt và chặn các kết nối TCP đến trên các cổng không được kiểm duyệt:

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

Tôi chạy lại lệnh đó và thấy rằng như tôi đã cập nhật trong câu hỏi của mình, không có gì trong chuỗi đầu ra. Điều đó có nghĩa là tôi chấp nhận mọi thứ?
Gnijuohz

@Gnijuohz Có, vì bạn chỉ có quy tắc CHẤP NHẬN và chính sách của bạn là CHẤP NHẬN, máy của bạn cho phép tất cả lưu lượng truy cập đến và đi. Bạn cũng chuyển tiếp mọi thứ, trừ khi có hạn chế về quy tắc FORWARD thứ ba (ví dụ: đối với một giao diện cụ thể - bạn cần thêm -vcờ iptablesđể xem tất cả các phần của quy tắc).
Gilles 'SO- ngừng trở nên xấu xa'

Cảm ơn, tôi đã sử dụng lệnh bạn đưa ra và tôi nhận được phản hồi, dường như nó bị chặn bởi trường của tôi. Tôi sẽ đăng nó trong câu hỏi của tôi ngay lập tức ~
Gnijuohz

Đã thêm :) Điều đó có nghĩa là nó bị chặn bởi 115.156.255.174?
Gnijuohz

@Gnijuohz Vâng, có vẻ như 115.156.255.174 (một máy trên mạng hust.edu.cn) đang chặn các kết nối gửi đến cổng 22.
Gilles 'SO- ngừng trở nên xấu xa'

2

Dựa trên nhận xét của bạn, gần như chắc chắn rằng trường học có một số loại bộ lọc để chặn tất cả lưu lượng truy cập không phải là cổng 80 hoặc tất cả lưu lượng truy cập không có trong danh sách trắng. Bạn có thể thoát khỏi đường hầm SSH HTTP như được ghi lại ở đây hoặc bạn có thể thử ứng dụng khách ssh dựa trên trình duyệt như được hiển thị ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.