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
-- 
Posted via http://www.ruby-forum.com/.