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


174

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


6
その後、お使いのモバイルデバイス上のホットスポットを作成し、お使いのモバイルデバイスを介して接続しますgit push。私のために働いた。
zundi


1
同じ問題がVirgin Mediaでイギリスでも起こりました。私は自宅でsshを介してGitHubにプッシュ/プルしようとしましたが、運が悪かったのですが、仕事では問題ありませんでした。ISPに問題があることに気づきました。私にとっての簡単な修正1.1.1.1は、デフォルトの代わりにCloudflare DNSを使用することでした。これが、@ zundiがモバイルホットスポットで成功する理由です。
Vladyslav Krylasov

回答:


254

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

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でリッスンする2番目のSSHサーバーを実行することを考慮してください。このポートはファイアウォールで保護されていない可能性があります。あなたがしなければならないすべてはあなたを編集して~/.ssh/config、GitLab.comへの接続方法を変更することです。その場合には、こちらの記事を参照してください。about.gitlab.com/2016/02/18/...
lucascavalcante

1
こんにちは、私は同じ問題を抱えていました。私のルーターはNETからのもので、彼は22ポートをブロックしています。その構成は私の問題を完全に解決しました
Pedro Soares

それはされていないgitconfigコンなく、ssh設定
GuyT

1
回答を何時間も見つけた後...あなたはCHAMPですが、とにかくgithub.comをssh.github.comに変更する必要があるのはなぜですか?まだうまく
聞き取れ

45

基本的なURL書き換え

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

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

今、まるで魔法のように、すべてのgitコマンドはgit://toの置換を実行しますhttps://

ソース: git://プロトコルは会社によってブロックされていますが、どうすれば回避できますか?


1
ありがとう!私たちのものはJenkinsビルド中だったので、手動でgitファイルを編集できませんでした(私はjenkinsアカウントのgit資格情報を持っていません)-これは非常に便利でした。
Phil

1
これは素晴らしい。簡単に切り替えられるように、それぞれにgitエイリアスを追加しました
lfender6445 2015年

17
githubに関しては、コマンドは次のようになりますgit config --global url."https://github.com/".insteadOf git@github.com:。違いに注意してください:@//:なり/ます。
Frodon、2016年

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インストールするかどうかはわかりません。それは何ですか?Netcatか何か?
Hack-R

2

私はこれと同じ問題を抱えていましたが、誰かがこの問題に遭遇する可能性があると考えて、私が見つけた答えは異なりました。そこで、これが私の解決策です。

私はポートのためのホワイトリスト2つのIPを持っていた2280443、と9418

  • 192.30.252.0/22

  • 185.199.108.0/22

これらの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

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


0

私はこの問題を2時間抱えていましたが、httpsから「s」を削除することがわかりました。

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

修正しました。


答えとして、それをタグ付けこの質問を閉じてください
クレマン

0

問題:問題 を生成する手順:新しいラップトップで初めてgit clone git@github.com:sramachand71 / test.git エラー ssh:ホストgithub.comポートに接続22:接続が致命的にタイムアウトしました:リモートから読み取れませんでしたリポジトリ。

正しいアクセス権があり、リポジトリが存在することを確認してください。 システムで初めてクローンを作成するソリューションでは、クローンコマンドに二重引用符を付ける必要があります。$ git clone "git@github.com:sramachand71 / test.git"すべてが正しくてもシステムでこの問題に直面しますが、初めてまたは新規ユーザーのURL "repository_url.git"には二重引用符が必要であることをついに気付きましたシステム内。


0

リポジトリのURLをsshからhttpsに変更しても、あまり意味がありません。私が好むようssh超えるhttpsので、私は破棄したくない余分な利点のいくつかの並べ替えの。上記の答えはかなり良く正確です。GitLabでこの問題に直面した場合は、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.