web-dev-qa-db-ja.com

WindowsコマンドラインでSSH秘密鍵を.ppkに変換するにはどうすればよいですか?

ssh-keygenでキーペアを生成しました。 PuTTYベースのアプリケーションで同じ鍵ペアを使用したいと思います。

私はCLI環境で作業しているので、この環境内からキーを.ppk形式に変換したいと思います。

どうやら、UNIXのような環境ではputtygen openssh_private_key -o output_filename.ppkを使用できます。しかし、Windowsバージョンのputtygenはキーをロードするだけで、GUIを使用してキーをエクスポートするように求められます。

Windows PuTTYgenのバッチモード は、少なくともputtygenでは、これが単に現在は不可能であることを示唆しています。私は喜んで受け入れ、他の手段を使用するオプションを選択します。

コマンドラインからキーを変換するにはどうすればよいですか?

15
Der Hochstapler

WinSCP は、OpenSSH(またはssh.com)形式からPuTTYへの秘密キーの コマンドライン変換をサポートします.ppkフォーマット

/keygenスイッチを使用します。

winscp.com /keygen mykey.pem /output=mykey.ppk

(WinSCPの作成者です)


または、Cygwinを使用して Unixコマンドラインputtygen をコンパイル/実行できます。


または、PuTTYコードから独自のツールを構築します。オープンソースです。それはかなり簡単です(それは基本的にWinSCPが行うことです)。

import_ssh2を使用して.pemをロードします。

ssh2_userkey *import_ssh2(const Filename *filename, int type,
                          char *passphrase, const char **errmsg_p);

ssh2_save_userkeyを使用して、.ppkとして保存します。

bool ssh2_save_userkey(
    const Filename *filename, ssh2_userkey *key, char *passphrase);
17
Martin Prikryl

注:OPにはコマンドラインが必要です。この答えは、グラフィカルアプリケーションを使用しています...役に立つ場合に備えて、ここで答えを残します。

おそらくもっと簡単な解決策があります。

1) here または here にアクセスして、PuTTY Key Generator(PuTTYgen)アプリケーションをダウンロードします(まだお持ちでない場合)。

2)PuTTYgenを開く

3)[変換]をクリックし、[キーのインポート]をクリックします

4)キーファイルを見つけ、[開く]をクリックします。

[秘密キーの保存]ボタンをクリックして、キーをPPKファイルとして保存できるようになりました

[公開キーを保存]ボタンをクリックして、公開バージョンのキーを保存することもできます

https://devops.profitbricks.com/tutorials/use-ssh-keys-with-PuTTY-on-windows/

https://kb.site5.com/Shell-access-ssh/how-to-convert-ssh-keys-to-ppk-format/

Linuxで実行している場合、またはそこで鍵を生成している場合(または可能かどうか)、次を使用できます。

puttygen -t rsa -C "my home key" -o mykey.ppk

Puttygenをまだお持ちでない場合は、Sudo apt install PuTTY-toolsまたはシステムにインストールするための適切なコマンド。

それ以外の場合、Windowsを使用している場合、別のマシンでキーを生成する以外に、実際にそれを行う方法を確認できません。