質問: Macのターミナルから、 ssh-keygen -t rsa -b 2048 こちらで公開鍵と秘密鍵を生成しました。 生成された秘密鍵のヘッダーは -----BEGIN OPENSSH PRIVATE KEY----- となっています。 この秘密鍵を使い、Transmit4でSFTP接続の設定を行いましたが、鍵ファイルを選択する箇所で、ファイル形式が違うと言われました。 pemに変換すべく、 openssl rsa -in ~/.ssh/XXXX -outfform pem > XXXX.pem このコマンドを実行しましたが、 unable to load Private Key 4694947436:error:09FFF06C:PEM routines:CRYPTO_internal:no start・・・・ というメッセージが出てpemファイルが生成できませんでした。 最近、秘密鍵のヘッダーが変わったという情報を聞きましたが、使えるように変換するにはどうしたらいいでしょうか?
回答: 私もこの問題に困っていました。OpenSSHの新形式の鍵を旧形式(PEM)に変換する方法、manには明記されていないのですがssh-keygenコマンドでできることがわかりましたので、もう必要ないかもしれませんが記載しておきます。 ``` ssh-keygen -p -f 【新形式の鍵】 -m pem ``` -p はパスフレーズ変更コマンドです。変更にあたって出力形式をPEMにせよと指定することでPEM形式の鍵に変換します。 このコマンドは鍵ファイルを上書きしますのでバックアップを取った上で使用してください。