%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
実行中:
Windows 10 (最新のアップデート)
Git バージョン 'git バージョン 2.36.1.windows.1'
SSH -V は次を返します:
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
プロパティ ダイアログには、C:\Windows\System32\OpenSSH* 内のすべての実行可能ファイルが表示されます。
product version: 8.1.0.1
(これは Windows10 が維持するデフォルトのスイートです。私自身は触ったことがありません)
「ssh-agent」が起動して実行中です。「ssh-add -l」を実行すると、両方のキーが表示されます。
3072 SHA256:.... <blahblah> (RSA) 2048 SHA256:.... C:\foo\bar\key.ppk (RSA)
これらとまったく同じキーは WSL2 (Ubuntu 20.04) 内でも使用されており、問題なく動作します。
私のリポジトリで「git pull」を実行しようとすると、ビットバケットrepos で次のエラーが発生します:
permission denied (public key)'
まったく同じコマンドは、'ssh-agent' にロードされたまったく同じキーを使用して、Ubuntu 20.04 でも正常に動作します。何が起こっているのでしょうか?
答え1
結局、「git」は、Windows10 で組み込みの OpenSSH ライブラリを使用することに関して、BitBucket に対して何らかの不満を抱いていることが判明しました。
私は「git」を完全に再インストールすることに頼りましたが、今回はgitがWindows10自体が提供するOpenSSHスイート(gitの組み込みOpenSSHスイートではなく)を使用するようにしました。それが完了すると、すべてが意図したとおりに動作するようになりました。
PS: OpenSSH / BitBucket / Git に詳しい人なら、組み込みの「OpenSSH」スイートが動作しない理由についてさらに詳しく説明できるでしょう。今のところ、そのようなことは私の能力の範囲外です。
PS#2: この特定の設定を微調整するためだけに 'git' を再インストールしたくない場合は、以下を試してみてください (ただし、自分でテストしたわけではありません):
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"