Gitを使用して接続しようとすると、このエラーが表示されます
$ git clone [email protected]:MyCompany/eagle.git --verbose
Cloning into 'eagle'...
FATAL ERROR: Couldn't agree a key exchange algorithm (available: [email protected],ecdh-sh
a2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
すべてのキーなどを設定しましたが、ssh -v [email protected]
接続が成功したため、接続は正常に機能します。
何が問題で、何を修正する必要があるのかを理解するにはどうすればよいですか?
おかげで、
ssh -T [email protected]
で次のような場合:
Hi <name>! You've successfully authenticated, but GitHub
does not provide Shell access.
メッセージは、sshセットアップが機能していることを意味します。あなたが得る場合:
FATAL ERROR: Couldn't agree a key exchange algorithm ...
これは、sshの設定が機能していないことを意味します。明らかにここに矛盾があり、最も可能性の高い原因は、2つの異なるssh
コマンドがインストールされていることです。1つは使用しており、動作しますが、もう1つはGitが使用しています。
この回答 から Git with SSH on Windows には多くの賛成票があります。私はWindowsを避けているので、これが役立つかどうかはわかりません。 (あなたがそれを言及していないので、あなたがWindowsを使っているかどうかさえ知りません。)
Gitバージョン2.3.0がGIT_SSH_COMMAND
を追加し、 Gitバージョン2.10.0がcore.sshCommand
を追加してGIT_SSH_COMMAND
の値を設定することに注意してください。 。それ以来、 Gitバージョン2.13.0は、さまざまなオプション文字を必要とするsshのバリエーションに関連する問題に対処するためのいくつかの新しいトリックを学びました。 すべてのケースで、どのssh Gitが実行されているかを把握し、実際に動作するものを実行してください。すべてのオプション変数とその機能の説明については、 トップレベルのGitドキュメント を参照してください。ここのリンクは、ご使用のGitバージョンと一致しない可能性があるWebページに移動するため、Gitが非常に古い場合は、git --help git
を実行してそのバージョンを読み取ることを検討してください。
私にとって、これは次の理由で起こっていました:
GIT_SSH=C:\Program Files\PuTTY\plink.exe
)PuTTY 0.63と downloaded をアンインストールし、PuTTYの最新バージョン(現時点では0.70)をインストールして、問題を解決しました。
問題はGIT_SSHにありました。この変数は以前にPuTTYによって設定されています。この環境変数を削除し、問題は解決しました
これはGitHub 弱い暗号の削除 に関係している可能性があります。これは2018年2月22日頃に起こりました。
私はSourceTree、PuTTY、open-sshの順に使用しています。実際に混乱し、_GIT_SSH
_ env変数値をチェックするときにSourceTreeと共にインストールされたPuTTYを使用していました。 open-sshを使用するには、この環境変数を削除する必要がありました。 (PuTTYを使用しないので)
初心者の場合は、このスニペットを使用して、open-sshでgithubに「ログイン」します。eval $(ssh-agent -s) && ssh-add ~/.ssh/mySHHKey
編集:私は昨日正常に接続しましたが、今は動作しなくなったことを気にしないでください...その間、PuTTYでページェントを使用してください。