私はプロキシの下にいて、かなり長い間 git を正常にプッシュしています。
突然 git にプッシュできなくなりました。
RSAキーとプロキシを設定してダブルチェックしましたが、役に立たず、gitがページのタイトルに示されているエラーをスローしています。
22 に答える
私の場合、提案された解決策はどれもうまくいかなかったので、自分で修正しようとしましたが、解決しました。
私にとっては、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 接続を使用してクローン作成を試みることができます。ほとんどのファイアウォール ルールはこれを許可する必要がありますが、プロキシ サーバーが干渉する可能性があります
うまくいけば、これは私と同じ問題を抱えている他の人の助けになります.
その理由は、ネットワークの下にあるため、ファイアウォールの変更である可能性があります
.
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
基本的な URL 書き換え
Git は、git config を使用して URL を書き換える方法を提供します。次のコマンドを発行するだけです。
git config --global url."https://".insteadOf git://
これで、まるで魔法のように、すべての git コマンドが to の置換を実行しgit://
ますhttps://
私は同じ問題に直面し、有効な解決策を見つけることができませんでした。ローカルサーバーのセットアップ中にこの問題に直面し、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 経由で完全に動作するようになりました!
実行する:
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
私にとって、問題は ISP 側にありました。ポート番号は、インターネット サービス プロバイダーによって有効にされていません。そのため、ネットワーク経由でポート番号を有効にするように依頼したところ、機能し始めました。
テストのみ: モバイル ホットスポットに接続して入力ssh -T git@bitbucket.org or git pull.
します。動作する場合は、ISP にポートを有効にするよう依頼してください。
私のコンピューターは、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 を接続します。