サーバを構築しているときに、たまにPPK形式の秘密鍵を求められることがあります(Gitクライアントで有名なTortoiseGitでGitサーバにアクセスするためなど)。しかし、秘密鍵とセットの公開鍵はサーバ側に登録するため、わざわざPPK形式のために秘密鍵/公開鍵を作り直すのは影響が大きすぎます。
いろいろ調べると、ssh-keygenコマンドで生成した秘密鍵をPPK形式に変換することができたので、その方法をまとめました。この方法を使えば、公開鍵に対して特に変更が不要で、PPK形式の秘密鍵を入手できます。
目次
PuTTYをインストールする
秘密鍵をPPK形式に変換するために、「PuTTY」というツールをインストールします。
以下のURLから最新版の「PuTTY」のインストーラをダウンロードできます。
Download PuTTY: latest release

インストーラがダウンロードできたら、それを実行して「PuTTY」をインストールしてください。
インストール手順は、特にカスタマイズが必要ないのなら、「Next」を押していけばいいので、詳細は割愛します。
PPK形式の秘密鍵に変換する
「PuTTY」をインストールすると、「PuTTY Key Generator(PuTTYgen)」が一緒にインストールされているはずです。この「PuTTY Key Generator(PuTTYgen)」を実行します。
実行すると、以下のようなウィンドウが開くと思うので、上のメニューからConversions→Import keyをクリックし、ssh-keygen
で生成した秘密鍵を選択します。

ssh-keygen
で生成した秘密鍵を選択すると、パスフレーズを聞かれるので、秘密鍵に紐づいているパスフレーズを入力します。

すると、以下のように秘密鍵の情報が読み込まれるので、下部にある「Save private key」をクリックすれば、PPK形式の秘密鍵を保存できます。

以上!
コメント