Class: Net::SSH::Connection::Session
Instance Method Summary collapse
Instance Method Details
#exec_sudo(command, prompt = /password/, &block) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/nuggets/net/ssh.rb', line 31 def exec_sudo(command, prompt = /password/, &block) block ||= lambda { |data| ask(data) { |q| q.echo = false } } open_channel { |ch| ch.request_pty ch.exec("sudo #{command}") { ch.on_data { |_, data| ch.send_data("#{block[data]}\n") if data =~ prompt } } ch.wait } end |