我正在编写一个ruby on rails服务,它将通过SSH连接到各种服务器。
我想生成公钥/密钥并将它们存储在数据库中。然后,用户将能够查看公钥,并将其添加到服务器上的SSH密钥身份验证中。
my服务将通过Net::SSH联系服务器并提供相应的密钥。
我的问题是,我需要什么API调用才能实现这一点。根据大多数文档,您将在.ssh目录中创建密钥。
发布于 2010-09-24 21:48:08
我了解了如何将键直接传递给Net::SSH。
基本上,您可以使用:key_data选项传递一个PEM格式的私钥。然后,SSH可以从中生成公钥,因为它同时需要这两个密钥。
发布于 2010-09-23 20:53:33
你不能使用ssh-keygen
命令吗?我的意思是:
从web界面获取密码和其他参数
验证、检查等,然后:
#!/usr/bin/env ruby
$VERBOSE=true
`ssh-keygen -f ~/sshkeyfile -t rsa -C "something" -P "something else"`
当然,将路径更改为更合适的内容,并使用您想要的选项。
然后从您选择的位置阅读sshkeyfile
和sshkeyfile.pub
将其存储在数据库中,等等。
发布于 2018-05-29 07:40:48
这适用于在Ruby中生成私钥和公钥
require 'openssl'
key = OpenSSL::PKey::RSA.generate(2048)
key.public_key
puts key.public_key
puts key
因此,我认为需要的答案是'openssl‘
https://stackoverflow.com/questions/3778311
复制相似问题