web-dev-qa-db-ja.com

Pageantは、Git Bashで生成されたSSH-2キーのロードを拒否しました

(Tortoise)Git for Windowsを使用したキー処理の実装は、私を混乱させます。私の知る限り、_ssh.exe_(gits独自のsshプログラム)のいずれかで実装でき、「偽の」ホームディレクトリの_ssh_config_でホストごとにsshキーを選択できます。私にとっては、これは実際には適用できません。複数のBitbucketアカウントがあり、異なるホストを使用していますが、すべて同じホストです。

次に、TortoiseGitPlinkを使用する方法があります。基本的に、PuTTYで生成されたキーを使用してページェントを設定し、TortoiseGitがそのキーを使用できるようにします(環境変数_SSH_GIT_をTortoiseGitPlink.exeに設定します)。

ここで私の質問は次のとおりです。GitBashで_ssh-keygen -t rsa -f ~/.ssh/rsa_key_コマンドを使用して、デフォルトオプションでssh2 rsaキーを作成しました。 GUIを使用してこのファイルを_pageant.exe_にロードしようとしました。エラーが発生しました:Couldn't load this key (OpenSSH-SSH-2 private key)

このキーの問題は何ですか? GitBashで作成され、すべての標準openSSHガイドラインに準拠する必要があります。 PuTTYキーとopenSSHキーに違いがあるのは正しいですか?

41
atripes

Pageantは、PuTTY形式(.ppk)でのみキーをロードできます。

PuTTYツールで認識されるキーを別の形式でロードしようとすると、次のエラーメッセージが表示されます。

このキーをロードできませんでした(OpenSSH-SSH-2秘密キー)

PuTTYgenを使用してキーを変換する OpenSSH形式からPuTTY形式に変更する必要があります。 Pageantがファイル形式を認識した場合、PuTTYgenはそれを変換できます。

  • PuTTYgenを実行します。
  • Loadを押して、OpenSSH形式で秘密鍵をロードします。
  • 秘密鍵を保存を押して、秘密鍵を.ppk形式で保存します。
  • これで、.ppk形式の秘密鍵をPageantにロードできます。

またはさらに簡単に、ssh-keygenを使用する代わりに、PuTTYgenを使用してPuTTY形式で直接キーを作成します。


独自のキー形式がある理由については、PuTTYウィッシュリストを参照してください。
https://www.chiark.greenend.org.uk/~sgtatham/PuTTY/wishlist/key-formats.html

SSH-2秘密鍵ファイル形式には標準がないと思うことに注意してください。

76
Martin Prikryl

PuTTYは、次のエラーを表示する場合、id_rsa秘密キーを理解しません: enter image description here

秘密鍵を.ppk(秘密鍵形式)に変換する必要があります。

  1. PuTTY Key Generatorを開きます([スタート]-> [puttygen]を検索)
  2. RSA秘密鍵をインポートする必要があります。これを行うには、[変換]メニュー> [キーのインポート]を開きます。 enter image description here
  3. 変換するRSA秘密鍵を選択します。 enter image description here
  4. 「秘密鍵を保存」をクリックします。別の形式で保存することもできます。 enter image description here
  5. 次に、「id_rsa.ppk」として保存します enter image description here
  6. Pageantを開く-PuTTY認証エージェント(まだ開いていない場合) enter image description here
  7. 「キーを追加」をクリックします
  8. 変換された秘密鍵を選択します。 enter image description here
  9. ご覧のとおり、PuTTYは「Pageant Key List」でこれを認識します。 enter image description here
22
KeyMaker00