openssl ライブラリを使用できます。あなたが望むものに対するより完全な解決策に関しては、私はそれが利用可能だとは思わない. ただし、ライブラリで実装するのに手間がかかりすぎてはいけません。
http://ruby-doc.org/stdlib-1.9.2/libdoc/openssl/rdoc/OpenSSL/PKey/RSA.html
基本的に次のようなことを行います:
# private_key_str can be in PEM or DER format
OpenSSL::PKey::RSA.new(private_key_str, 'passphrase').public_key
そしてそれを公開鍵と比較します。使用する形式に応じて、#to_pem または #to_der でキーの文字列表現を取得できます (少し試してみてください)。代わりに rsa ライブラリも使用できます。
使えると思います
ssh-keygen -e -f id_rsa.pub > pemkey.pub
ssh-keygen のデフォルト形式から PEM に変換します。必要に応じて、サーバー上でこのコマンドを実行して変換を行うことができます。OpenSSL::PKey::RSA が ssh のデフォルト形式を受け入れるかどうかわからないため、形式が適切に一致するように試行して確認する必要があります。 -keygen. ssh-keygen を STDIN から読み取り、STDOUT に書き込むこともできるため、変換を行うためにファイルを使用する必要はありません。