2

github api から公開鍵を取得しているので、ssh が読み取るために必要な形式になっています。

ruby の OpenSSL ライブラリを使用して作業できるように、PEM としてフォーマットしたいと考えています。具体的には、OpenSSL::PKey::RSAインスタンスが必要です。

基本的に、Ruby で次のコマンドが必要です。

ssh-keygen -f testing_rsa.pub  -e -m pem

SSHKey gemを見つけましたが、この特定のことをしていないようです。

OpenSSLまたは別のライブラリでこれを行う方法はありますか、またはこれらの他の回答が示唆しているものに頼って手動で変換する必要がありますか?

4

1 に答える 1

2
require 'open3'

def key_file_in_pem_format key_file
  stdout, status = Open3::capture2('ssh-keygen', '-f', key_file, '-e', '-m', 'pem')
  raise unless status == 0
  stdout
end

これは、ssh-keygen プログラムの出力を文字列として返します。

于 2013-04-19T14:09:15.973 に答える