Help with net-ssh 2.0


J

Jay Rajaram

Hi..,

I am trying to use net-ssh for executing unix level commands using
net-ssh across many servers. I am looking for an example that would
allow me to use net-ssh similar to EXPECT.

As a first step I tried the following:
___________________________________________________________________________

#!/usr/bin/ruby

require 'rubygems'
require 'net/ssh'

Net::SSH.start('myhostname', 'username', :password => "password") do
|ssh|

#I need to sudo further into a different account
#How do I open a channel with PTY for this as the
#sudo fails without a proper terminal.

ssh.open_channel do |channel|

channel.on_data { |ch, data| puts "stdout: #{data}" }
channel.on_extended_data { |ch, type, data| puts "stderr:
#{data}" }

#The following command produces output
channel.exec "hostname"

#The following doesnot produce any output
channel.exec "uptime"

end

#Not sure what is the purpose of the next statement
ssh.loop

end

___________________________________________________________________________


Would anyone please show me an example script of how to open a PTY
channel to make the sudo succeed and subsequently send commands and
receive output from stdout and stderror.

Thanks
Jay
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top