アカベコマイリ

HEAR NOTHING SEE NOTHING SAY NOTHING

OS X で OpenSSH と PuTTY の鍵を相互変換する

March 16, 2016開発OpenSSH, PuTTY

OpenSSH と PuTTY の鍵を相互変換についてググると Windows 環境で puttygen.exe を利用した GUI による方法が散見される。一方 OS X かつ CLI による変換はあまり見つからず。私としてはこちらを使用することが多いので自分用にメモ。

まず PuTTY をインストール。Homebrew のパッケージが用意されている。

$ brew install putty

インストール確認を兼ねてヘルプを表示。

$ puttygen
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]

これで puttygen コマンドを利用できるようになった。さっそく相互変換してみよう。

はじめに ssh-keygen で作成された OpenSSH 用の秘密鍵を PuTTY 形式に変換。鍵ファイル名が mykey だとしたら、コマンドは以下のようになる。

$ puttygen mykey -O private -o mykey.ppk

つぎに PuTTY で作成された秘密鍵を OpenSSH 用に変換。

$ puttygen mykey.ppk -O private-openssh -o mykey2

私は PuTTY 形式の鍵を FileZilla で使用。ファイル転送は CLI でも十分だがサーバー上のファイル構成を GUI で操作したくなることもあるから、たまに FileZilla を起動する。あと職場で CLI が苦手な人に FileZilla か WinSCP を利用してもらうため PuTTY 形式の鍵が要る。