web-dev-qa-db-ja.com

Gitのクローン/プルは、「キーをキャッシュに保存しますか?」で継続的にフリーズします。

BitBucketアカウントからWindows 10ラップトップ(GitBashを実行)にレポのクローンを作成しようとしています。接続に必要なすべての手順を完了しました(SSHキーをセットアップし、git @ bitbucket.orgを正常にSSHで送信することで検証しました)。ただし、レポのクローンを作成しようとするたびに、Bitbucketのキーをキャッシュすることを確認した後、プロンプトが継続的にハングアップします。

User@Laptop MINGW64 /C/Repos
$ git clone [email protected]:mygbid/test.git
Cloning into 'test'...
The server's Host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
If you trust this Host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this Host, press Return to abandon the
connection.
Store key in cache? (y/n) y

ファイルは複製されず、結果は空のリポジトリになります。このレポジトリからgit pull Originマスターを開始しようとすると、キーをキャッシュするように要求され、フィードバックなしでハングします。 SSHのテストを行うときにキーをキャッシュするよう要求していませんが、git操作は失敗する前に毎回キーを要求します。

動作するエラーメッセージがないので、何が間違っているのかについて本当に迷っています。非常に小さなものを含む複数のレポジトリを試しましたが、まったく成功しませんでした。

128
MarathonStudios

Windows 10でもリポジトリを複製するときにこの問題が発生しました。

PuTTY GUIを使用して問題のサーバー(あなたの場合はbitbucket.org)にSSHすることで回避し、プロンプトにサーバーキーをキャッシュに保存するかどうか尋ねられたら「はい」をクリックしました。クローンコマンドを再度実行すると、うまくいきました!

151
theChumpus
  1. PuTTYを開く
  2. ホスト名を入力します(bitbucket.orgなど)
  3. 開くをクリックします
  4. ポップアップで[はい]をクリックして、ホストキーをキャッシュします。
  5. PuTTYを閉じる
97
cambunctious

Powershellからこれを行うには、powershellウィンドウを開き、以下を貼り付けます。

echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh [email protected]
echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh [email protected]
echo y | & 'C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe' -ssh [email protected]

またはPuTTYスタンドアロンバージョンの場合:

echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh [email protected]
echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh [email protected]
echo y | & 'C:\Program Files (x86)\PuTTY\plink.exe' -ssh [email protected]

また、PuTTY レジストリキーの下に既知のホストを格納する

HKEY_CURRENT_USER\SoftWare\SimonTatham\PuTTY\SshHostKeys

上記のショートカットを作成するには、以下を.regファイルに入れて実行します。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys]
"rsa2@22:github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069"
"rsa2@22:Gist.github.com"="0x23,0xab603b8511a67679bdb540db3bd2034b004ae936d06be3d760f08fcbaadb4eb4edc3b3c791c70aae9a74c95869e4774421c2abea92e554305f38b5fd414b3208e574c337e320936518462c7652c98b31e16e7da6523bd200742a6444d83fcd5e1732d03673c7b7811555487b55f0c4494f3829ece60f94255a95cb9af537d7fc8c7fe49ef318474ef2920992052265b0a06ea66d4a167fd9f3a48a1a4a307ec1eaaa5149a969a6ac5d56a5ef627e517d81fb644f5b745c4f478ecd082a9492f744aad326f76c8c4dc9100bc6ab79461d2657cb6f06dec92e6b64a6562ff0e32084ea06ce0ea9d35a583bfb00bad38c9d19703c549892e5aa78dc95e250514069"
"rsa2@22:bitbucket.org"="0x23,0xb9b88df3578371a7eb80c78bcda14fb30da436f11ca932a5fd5a8b6adfcc681df7a59cb4cb7ac966d9eac11daa38ebdbc0a6582a210ed4ee95a8d101c4abc925e942ab47535d64f9a5b3b68035c2ea1e900d709a1e8ea938718f532f9805a190446b92bac3040126225ae9d8374bc2008f106979d631734c7453f78c70091f4783b288869cb3c1941a784cd9baad823be27333833dc1f488a45b85952be75cf0a64965662302e3915378dcd5cfcd3ec903d804a29dff2fdf19df5deba4534b09e4dea6e44f152e339b3c43be98ddadfc56533192e216a3d673f00b4aa9cc9e7870acd8b6adb7e0feb77f2292fc2dede94819def3eb1e785541a06ab31ccf725f"

PuTTY-hosts.reg Gist

21
Tim Abell

Pageantを実行した後、plinkコマンドを直接使用した後、plink.exe -agent -v [email protected]を使用してplinkを直接実行し、このgitがハングすることなく機能するようになりました。

6
benjaminRRR

他の回答に記載されている回避策を実行した後でも、次のようなエラーが発生する場合があります。

致命的なエラー:切断:利用可能なサポートされている認証方法がありません(サーバー送信:公開鍵)

両方の問題を一度に解決するには、次を~/.profileファイル(C:\Users\<Username>\.profile)に追加して、git bashを変更してPuTTYではなくSSHを使用します。このファイルがまだない場合は、この行で新しいファイルを作成してください。

GIT_SSH="/usr/bin/ssh.exe"

次に、新しいgit bashウィンドウを開き、git cloneまたはgit pullをもう一度試してください。

SSHキーがない場合、SSHキーを作成する必要があることに注意してください。これを行うには、 Bitbucket サイトの指示に従ってください。

関連情報については this SO question をご覧ください。

3
Schparky

この問題を回避するには、-batchオプションでplinkを使用するようにGitBashを構成しました。このオプションはすべてのプロンプトを無効にします-plinkはハングせずに終了し、キーフィンガープリントをキャッシュに追加しません。

-batchパラメーターをGitBashによって実行されるplinkコマンドに追加するには、git configオプションを設定できます。

git config --global core.sshCommand "plink -batch"

または、GIT_SSH_COMMAND環境変数を設定します。

不明なホストからレポを複製するときの出力は次のようになります。

The server's Host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
Connection abandoned.
fatal: Could not read from remote repository.

このメッセージの後、コマンドでキャッシュにキーを追加できます:

echo y | plink [email protected]

REMARK:plinkがPATHにあるかどうかを確認してください。あるいは、GitBash構成オプションでUNIXのようなパスを使用します。例:

/c/Program\ Files/PuTTY/plink.exe -batch
3
Paweł Weselak

Git bashシェルで、GIT_SSHの存在を確認します。
echo $GIT<tab><tab>
存在し、PuTTYに設定されている場合は、次を実行します。
unset GIT_SSH
おそらく、これをgit bash起動スクリプトの1つに入れたいと思うでしょう。
これは普遍的なソリューションではありません。これは特定のケースで機能しました。

1
Richard Jessop

少しばかげているように聞こえますが、上記のすべてを試した後、Git Bashをデフォルトオプションで再インストールすることにしました。

0
Vlad