sshkey
Generate private/public SSH keys using Ruby without the ‘ssh-keygen` system command.
gem install sshkey
Tested on Ruby 1.8.7 and 1.9.2 (MRI).
Usage
Generate an SSH Keypair with [email protected] as the comment - providing a comment is optional
k = SSHKey.generate(:comment => "[email protected]")
Return an SSHKey object from an existing RSA Private Key (provided as a string)
k = SSHKey.new(File.read("~/.ssh/id_rsa"), :comment => "[email protected]")
Both of these will return an SSHKey object with the following methods:
# Returns an OpenSSL::PKey::RSA key object
# See http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/classes/OpenSSL/PKey/RSA.html
k.key_object
# => -----BEGIN RSA PRIVATE KEY-----\nMIIEowI...
# Returns the RSA Private Key as a string
k.rsa_private_key
# => "-----BEGIN RSA PRIVATE KEY-----\nMIIEowI..."
# Returns the RSA Public Key as a string
k.rsa_public_key
# => "-----BEGIN RSA PUBLIC KEY-----\nMIIBCg..."
# Returns the SSH Public Key as a string
k.ssh_public_key
# => "ssh-rsa AAAAB3NzaC1yc2EA...."
# Returns the comment as a string
k.comment
# => "[email protected]"
# Returns the fingerprint as a string
k.fingerprint
# => "2a:89:84:c9:29:05:d1:f8:49:79:1c:ba:73:99:eb:af"
Copyright
Copyright © 2011 James Miller