class Facter::Util::Resolvers::SshHelper

Constants

SSH_FINGERPRINT
SSH_NAME

Public Class Methods

create_ssh(key_type, key) click to toggle source
# File lib/facter/util/resolvers/ssh_helper.rb, line 15
def create_ssh(key_type, key)
  key_name = SSH_NAME[key_type]
  return unless key_name

  decoded_key = Base64.decode64(key)
  ssh_fp = SSH_FINGERPRINT[key_name]
  sha1 = "SSHFP #{ssh_fp} 1 #{Digest::SHA1.new.update(decoded_key)}"
  sha256 = "SSHFP #{ssh_fp} 2 #{Digest::SHA2.new.update(decoded_key)}"

  fingerprint = Facter::Util::Resolvers::FingerPrint.new(sha1, sha256)
  Facter::Util::Resolvers::Ssh.new(fingerprint, key_type, key, key_name)
end