OS X で 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 形式の鍵が要る。