Hi there,
I'm trying to develop a script that will use net-ssh to performe some
routine commands on a remote server.
But i've a problem when i give a comand that will change the remote system
prompt. I think ruby is expecting the default caracter "#", but the command
will change it to ">", and the script don't run.
require 'net/ssh'
Net::SSH.start('172.16.20.78', 'root', :password => "passwd" ) do |
ssh>
output = ssh.exec!("su - sysad")
end
Could you please tell me I could I change the "expected" prompt?
Best regards,
GP
Gonçalo Pires wrote:
Hi there,
I'm trying to develop a script that will use net-ssh to performe some
routine commands on a remote server.
But i've a problem when i give a comand that will change the remote
system
prompt. I think ruby is expecting the default caracter "#", but the
command
will change it to ">", and the script don't run.
require 'net/ssh'
Net::SSH.start('172.16.20.78', 'root', :password => "passwd" ) do |
ssh>
output = ssh.exec!("su - sysad")
end
Could you please tell me I could I change the "expected" prompt?
I don't think raw Net::SSH waits for a prompt. It works at a lower level
of the SSH protocol protocol units.
If you want an expect-like interface, you could try Net::SSH::Telnet
(separate package). This is something I wrote to give an API almost
identical to Net::Telnet.
···
--
Posted via http://www.ruby-forum.com/\.