Forum: Ruby-Forum.com Telnet Hangs During Login

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.
315b95cdcac83705c10ea14e239aeaf5?d=identicon&s=25 George Mauer (togakangaroo)
on 2009-06-08 22:48
This is cross-posted on stackoverflow if you want points/nice syntax
highlighting:
http://stackoverflow.com/questions/966820/ruby-scr...

I am trying to do some basic scripting using ruby to log in to a windows
machine via telnet and pull some files over using the dos command line
ftp.  When I do this manually everything goes swimmingly but when I try
it via ruby I'm getting an error in the login call.

Here is my test program in its entirety:

    require 'net/telnet'
    tn = Net::Telnet::new("Host"=>"xxx.xxx.xxx.xxx", "Timeout"=>25,
"Output_log"=>"output_log.log", "Dump_log"=> "dump_log.log",
"Prompt"=>"C:.*>")
    tn.login("administrator", "xxxxxxx") {}
    tn.cmd('dir')
    exit

The contents of output_log don't betray anything as being wrong:

    Trying 208.10.202.187...
    Connected to 208.10.202.187.
    Welcome to Microsoft Telnet Service
    login: administrator
    password:
    *===============================================================
    Welcome to Microsoft Telnet Server.
    *===============================================================
    C:\Documents and Settings\Administrator>

Same for the dump_log which has very similar but awkwardly formatted
contents.  When I run the program it sits around for a while and then
outputs the following error:

    PS C:\code\tools\deployment> ruby test.rb
    C:/Ruby/lib/ruby/1.8/net/telnet.rb:551:in `waitfor': timed out while
waiting for more data (Timeout::Error)
            from C:/Ruby/lib/ruby/1.8/net/telnet.rb:685:in `cmd'
            from C:/Ruby/lib/ruby/1.8/net/telnet.rb:730:in `login'
            from test.rb:3

Which leads me to suspect that the telnet class is not recognizing the
command prompt.  I've tried several different regex strings for the
Prompt parameter, including the default and nothing seems to help.
This topic is locked and can not be replied to.