280

私はプロキシの下にいて、かなり長い間 git を正常にプッシュしています。
突然 git にプッシュできなくなりました。
RSAキーとプロキシを設定してダブルチェックしましたが、役に立たず、gitがページのタイトルに示されているエラーをスローしています。

4

22 に答える 22

431

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

私にとっては、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 接続を使用してクローン作成を試みることができます。ほとんどのファイアウォール ルールはこれを許可する必要がありますが、プロキシ サーバーが干渉する可能性があります

うまくいけば、これは私と同じ問題を抱えている他の人の助けになります.

于 2018-10-15T12:41:17.490 に答える
298

その理由は、ネットワークの下にあるため、ファイアウォールの変更である可能性があります
.

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
于 2013-03-23T17:13:26.600 に答える
49

基本的な URL 書き換え

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

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

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

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

于 2014-01-29T06:19:29.207 に答える
12

私は同じ問題に直面し、有効な解決策を見つけることができませんでした。ローカルサーバーのセットアップ中にこの問題に直面し、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 経由で完全に動作するようになりました!

于 2019-07-21T14:10:41.110 に答える
4

実行する:

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
于 2015-11-26T15:13:54.793 に答える
4

私にとって、問題は ISP 側にありました。ポート番号は、インターネット サービス プロバイダーによって有効にされていません。そのため、ネットワーク経由でポート番号を有効にするように依頼したところ、機能し始めました。
テストのみ: モバイル ホットスポットに接続して入力ssh -T git@bitbucket.org or git pull.
します。動作する場合は、ISP にポートを有効にするよう依頼してください。

于 2020-10-13T12:11:51.060 に答える
0

私のコンピューターは、Github への接続中にポート 22 に接続できませんでした。bitbucket でこの問題が発生したことはありません。GitHub と bitbucket の両方がある場合

Host bitbucket.org
Hostname  altssh.bitbucket.org
Port  443


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

参照

基本的に、22 ではなく 443 ポートで SSH を接続します。

于 2022-01-09T09:34:27.277 に答える