web-dev-qa-db-ja.com

ssh:ホストgithub.comポート22に接続:接続がタイムアウトしました

私はプロキシの下にいて、かなり長い間gitに成功しました。
これで突然gitにプッシュできなくなりました。
RSAキーとプロキシを設定し、それらを再確認しましたが、availがなく、gitがページのタイトルに表示されるエラーをスローします。

111
Vihari Piratla

その理由は、ネットワークの下にあるファイアウォールの変更である可能性があります(その場合、一部のポートを意図的にブロックする可能性があります)
これが理由であるかどうかを再確認するには...

ssh -T [email protected]

これはタイムアウトするはずです。その場合は、この方法でsshの代わりにhttpプロトコルを使用してください
設定ファイルのURLをhttpに変更するだけです。
これがその方法です:-

git config --local -e

のエントリを変更

 url = [email protected]:username/repo.git

url = https://github.com/username/repo.git
199
Vihari Piratla

私の場合、提案された解決策はどれも機能しなかったため、自分で修正しようとしましたが、解決しました。

私にとっては、AWS EC2 UBUNTUインスタンスでこのエラーが発生しています。それを解決するために行ったのは、git configを編集することです(存在しない場合は追加します)。

Sudo nano ~/.ssh/config

そして、私は次を追加しました

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

次に、コマンドssh -T [email protected]を実行して、問題が修正されたかどうかを確認します。

this による

ファイアウォールがSSH接続を完全に拒否することもあります。資格情報キャッシュでHTTPSクローンを使用するオプションがない場合は、HTTPSポートを介して確立されたSSH接続を使用してクローンを試みることができます。ほとんどのファイアウォールルールでこれを許可する必要がありますが、プロキシサーバーが干渉する可能性があります

うまくいけば、これが私と同じ問題を抱えている他の誰にも役立つことを願っています。

58
Mahan_F

基本的なURL書き換え

Gitは、git configを使用してURLを書き換える方法を提供します。次のコマンドを発行するだけです:

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

これで、まるで魔法のように、すべてのgitコマンドがgit://からhttps://への置換を実行します

source:git://会社によってブロックされたプロトコル、どうすればそれを回避できますか?

38
user224540

.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
4
Isaque Elcio

実行:

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
2
ameen

簡単な回避策:別のネットワークに切り替えてみてください

ホットスポット(3/4G接続)でこの問題が発生しました。別の接続(WiFi)に切り替えることで解決しましたが、これは単なる回避策です。問題の一番下に到達する機会がなかったので、根本的な問題を特定するために他の答えがより興味深いかもしれません

1
kip2

私はこれと同じ問題を抱えていましたが、私が見つけた答えは異なり、誰かがこの問題に出くわすかもしれないと思ったので、ここに私の解決策があります。

ポート2280443、および9418の2つのIPをホワイトリストに登録する必要がありました。

  • 192.30.252.0/22

  • 185.199.108.0/22

これらのIPが機能しない場合、それらが更新された可能性があります。最新のIPは このページ で見つけることができます。

1
Artur Grigio

上記の回答により、この問題を解決するために必要な情報が得られました。私の場合、URLは間違ってssh:///で始まっていました

Git configのURLが正しいことを確認するには、git configファイルを開きます:

git config --local -e

URLエントリを確認してください。最初はssh:///を使用しないでください。

間違ったエントリ:

 url = ssh:///[email protected]:username/repo.git

正しい入力:

 url = [email protected]:username/repo.git

URLが正しい場合、次の手順は、プロトコルをhttpに変更することを提案する上記の回答を試すことです。

0
Manda QoP

誤ってguestwifiネットワークに切り替えたときに、このエラーが発生しました。私のデフォルト wifiネットワークに戻す必要がありました。

0
Ludder

私は同じ問題に直面し、有効な解決策を見つけることができませんでした。ローカルサーバーのセットアップ中にこの問題に直面し、gitはプロキシネットワークを介して接続できませんでしたが、ワークステーションは接続できました。これは、コマンドssh -vT [email protected]を実行したときの出力でした

ubuntu@server:~$ ssh -vT [email protected]
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.

そこで、設定ファイル~/.ssh/configを編集して、HTTPSポート経由で行われたSSH接続を使用してみましたが、役に立ちませんでした。

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を介して完璧に動作します!