Ed25519 形式の秘密鍵からパスフレーズを削除する
暗号化・デジタル署名
RSA 形式の秘密鍵からパスフレーズを消すのに使っていた openssl の方法だと Ed25519 形式のパスフレーズを削除できないようだったので、別の方法を調べてみました。
RSA - Wikipedia
形式の秘密鍵からパスフレーズを消すのに openssl
を使ってましたけど、その方法だと Ed25519
形式で作成した秘密鍵から削除できないようだったので、別の方法を調べてみました。
RSA 形式の秘密鍵からパスフレーズを削除する
まず、これまで知っていた RSA 形式の秘密鍵からパスフレーズを削除する 方法から、紹介しておきます。
これについては、以前に Apache 2 で SSL 電子証明書のパスフレーズ入力を省略する
の中で紹介したみたいに、次のように openssl
コマンドを使って行っていました。
openssl rsa -in id_rsa.key -out id_rsa_nopass.key
このコマンドを実行して、現在のパスフレーズを入力し、続けて新しいパスフレーズのところで何も入れずに進めることで、秘密鍵からパスフレーズを取り除くことができていました。
Ed25519 形式だとエラー
ただ、これを Ed25519 形式の秘密鍵で行ったところ、次のようなエラーになりました。
openssl:Error: 'ed25519' is an invalid command.
Ed25519 形式の秘密鍵からパスフレーズを削除する
Ed25519 形式の秘密鍵からパスフレーズを削除するには ssh-keygen
を使えば良いようでした。
ssh-keygen -p -f id_ed25519
普通にこうして、パスフレーズを変更する -p
オプションを添えて、対象の秘密鍵を -f
で指定すれば、これで、以前のパスフレーズを尋ねられて、そのあとに聞かれる新しいパスフレーズで何も入力しないことで、無事、パスフレーズを取り除くことができました。