module Legion::Extensions::Ssh::Helpers::Connection

Public Instance Methods

detect_os(session) click to toggle source
# File lib/legion/extensions/ssh/helpers/connection.rb, line 24
def detect_os(session)
  session.exec!('lsb_release -a')
end
session(server:, user: 'root', **opts) click to toggle source
# File lib/legion/extensions/ssh/helpers/connection.rb, line 8
def session(server:, user: 'root', **opts)
  hash = {}
  if opts.key? :password
    hash[:password] = opts[:password]
  elsif opts.key? :key_data
    hash[:key_data] = opts[:key_data]
  elsif opts.key? :keys
    hash[:keys] = opts[:keys]
  end
  hash[:non_interactive] = opts.key?(:non_interactive) ? opts[:non_interactive] : true
  hash[:passphrase] = opts[:passphrase] if opts.key? :passphrase
  hash[:timeout] = opts.key(:timeout) ? opts[:timeout] : 5

  Net::SSH.start(server, user, **hash)
end