web-dev-qa-db-ja.com

Git SSHエラー:ポート22:ホストへのルートがありません

私は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にアクセスできます。そして、私はUbuntu 11.10。を使用しています

誰でもこれを助けることができますか?ありがとう!

8
Gnijuohz

INPUTチェーンはすべてを受け入れます。 OUTPUTチェーンを表示していませんが、すべてを受け入れると仮定します。これは、ユーザーとGithubの間のどこかで接続がブロックされていることを意味します。学校のファイアウォールがポート22への発信接続をブロックしている可能性があります。

tcptracerouteをインストールすることにより、パケットがインターセプトされる場所のより良いアイデアを得ることができます。Install tcptraceroute およびtcptraceroute github.com 22を実行しています。

学校の管理者にポート22を開くように依頼するか、少なくとも(気が進まない場合)ポート22をgithub.comに開きます。ネットワークの使用は深刻な使用であり、学生に許可する必要があります。

管理者が動揺せず、プロキシを使用してWebに接続する場合、プロキシを使用してトラフィックを中継できる場合があります(プロキシの構成方法に応じて、動作する場合と動作しない場合があります)。 ポート80を介してSSHで接続できますか? を参照してください。

ところで、INPUTルールとACCEPTポリシーしかないため、ACCEPTチェーンはすべての着信トラフィックを許可します。典型的なルールセットは、審査されていないポートで着信UDPトラフィックをブロックし、審査されていないポートで着信TCP接続をブロックします。

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
3
Gilles

コメントに基づいて、ポート80以外のすべてのトラフィックまたはホワイトリストに登録されていないすべてのトラフィックをブロックするためのフィルターが設置されていることはほぼ確実です。おそらく here で文書化されているSSH HTTPトンネルで逃げるか、またはブラウザベースのsshクライアント ここに示すように を試すことができます。

2
jackweirdy