2019年11月8日金曜日

.key鍵FILEをpemに変換

https://teratail.com/questions/173317
シェアしました。

ssh-keygen で生成した秘密鍵が使用できない。

解決済
回答 3
投稿 
  • 評価 0
  • クリップ 1
  • VIEW 2,784
Iya712
score 112
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ファイルが生成できませんでした。
最近、秘密鍵のヘッダーが変わったという情報を聞きましたが、使えるように変換するにはどうしたらいいでしょうか?
回答 3 件
+5
投稿 
y_waiwai
Git総合1位
  • Iya712

    2019/02/08 23:33
    ご回答いただきありがとうございます。
    こちら試してみたのですが、公開鍵をpemに変換することはできましたが、
    BEGIN OPENSSH PRIVATE KEY
    とのヘッダがある秘密鍵をpemファイルに変換する方法が知りたく、実現できませんでした。
    今回は、鍵ファイル変更しなくてもsshでの接続ができたので、sftpコマンドでの少量ファイルのやりとりで回避しました。
    ありがとうございました。
checkベストアンサー
0
ヘッダを変えるだけなら以下です。
sed -i -e 's/BEGIN OPENSSH/BEGIN RSA/' -e 's/END OPENSSH/END RSA' ~/.ssh/XXXX
投稿 
moonphase
AWS(Amazon Web Services)総合1位
  • Iya712

    2019/02/08 23:31
    回答いただきありがとうございます。
    こちらでヘッダを変えてみましたが、同じメッセージが出てしまいました。
    秘密鍵を変更しなくても、ssh接続はできていたので、sftpコマンドでやりとりする方法で回避しました。
    少量のファイルのやりとりだったのでなんとかなりました。
    ありがとうございました。
0
私もこの問題に困っていました。OpenSSHの新形式の鍵を旧形式(PEM)に変換する方法、manには明記されていないのですがssh-keygenコマンドでできることがわかりましたので、もう必要ないかもしれませんが記載しておきます。
ssh-keygen -p -f 【新形式の鍵】 -m pem
-p はパスフレーズ変更コマンドです。変更にあたって出力形式をPEMにせよと指定することでPEM形式の鍵に変換します。
このコマンドは鍵ファイルを上書きしますのでバックアップを取った上で使用してください。

0 コメント:

コメントを投稿