Net SSH Problem?

Today I get to jump in to the net::ssh gem to start using it to control
remote linux boxes. Loaded up the rubyforge page here:
http://net-ssh.rubyforge.org/ssh/v2/api/index.html

and checked out some examples. Tried out the example on my own like so:

require “rubygems”
require “net/ssh”

opts = {}
opts[:password] = #omitted, but triple-checked for correctness

#actual server, user names omitted to protect the innocent
sess = Net::SSH.start “my.server.com”, “my_user”, opts

#this works fine, outputting my_user’s home dir
rslt = sess.exec!(“pwd”).strip
p rslt

#Here, “…in the block” never prints
sess.exec “pwd” do |ch, stream, data|
p “…in the block”
if stream == :stderr
p “Error: #{data}”
else p data
end
end

Why doesn’t the block ever start? It’s almost exactly the same as the
example on rubyforge?

Thanks,
Alex

This works here…

require “rubygems”
require “net/ssh”

opts = {}
opts[:password] = #omitted, but triple-checked for correctness

#actual server, user names omitted to protect the innocent
sess = Net::SSH.start(“snip”, “snip”, opts)

#this works fine, outputting my_user’s home dir
rslt = sess.exec!(“pwd”).strip
p rslt

#Here, “…in the block” never prints
sess.exec “pwd” do |ch, stream, data|
p “…in the block”
if stream == :stderr then p “Error: #{data}”
else p data end end

#==================================
MarkT

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs