From: "徳島学" Date: 2008-01-23T16:21:30+09:00 Subject: [ruby-list:44531] 多段telnetするプログラムの作り方 初歩的な質問で申し訳ありませんが...。 多段telnetをしてコマンドを打って結果を得るプログラムを作りたいのですが うまくいきません。 サーバAにプログラムがあります。サーバAからサーバBへtelnet。 そこからサーバCへtelnet。そこでコマンドを打ち、結果をサーバAの プログラムで記録したい。( A -> B -> C ) ただtelnetして結果を得るだけなら簡単に動きました。 require 'net/telnet' telnet = Net::Telnet.new("Host" => "ServerB") telnet.login("username", "password") telnet.cmd("String" => "ls", "Match" => /[$%#> ] \z/n, "Timeout" => 5) {|c| pring c} telnet.cmd("exit") telnet.close exitするまえに、下の感じに書いてみましたがtelnet ServerCのところで次のエラーとなります。 'waitfor' : timed out while waiting for more data (Timeout::Error) telnet.cmd(" telnet ServerC") telnet.waitfor(/login[: ]*\zn) telnet.cmd("username") telnet.waitfor(/Password[: ]*\zn) telnet.cmd("password") .... これではダメなんだろうなぁとは思うのですが、 どうしたらよいのか調べてみても分かりませんでした。 ご存知の方、なにかヒントをお持ちの方、アドアイスお願い致します。 $ ruby -v ruby 1.8.5 (2006-08-25) [i386-linux] 徳島