class Quickmox::SSHTransport

Attributes

host[RW]
pass[RW]
session[RW]
user[RW]

Public Class Methods

new(host, user, pass) click to toggle source
# File lib/quickmox/ssh_transport.rb, line 10
def initialize(host, user, pass)
  @host = host
  @user = user
  @pass = pass
end

Public Instance Methods

close() click to toggle source
# File lib/quickmox/ssh_transport.rb, line 29
def close
  handle_exceptions do
    session.close
  end
end
connect() click to toggle source
# File lib/quickmox/ssh_transport.rb, line 16
def connect
  handle_exceptions do
    @session = Net::SSH.start(host,
                              user,
                              password: pass,
                              auth_methods: %w(password),
                              number_of_password_prompts: 0,
                              timeout: 3,
                              paranoid: false)
  end
  self
end
exec!(cmd) click to toggle source
# File lib/quickmox/ssh_transport.rb, line 35
def exec!(cmd)
  handle_exceptions do
    session.exec!(cmd).to_s.chomp
  end
end

Private Instance Methods

handle_exceptions() { || ... } click to toggle source
# File lib/quickmox/ssh_transport.rb, line 43
def handle_exceptions
  begin
    yield
  rescue => e
    raise SSHTransportError, "Exception while talking to host #{host}: #{e}"
  end
end