Forum: Ruby Net-Ssh

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Gonçalo Pires (Guest)
on 2009-02-10 04:00
(Received via mailing list)
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 (Guest)
on 2009-02-12 22:28
(Received via mailing list)
> Hi there,
Brian C. (Guest)
on 2009-02-15 22:51
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.
This topic is locked and can not be replied to.