[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:20195] Re: Net::Telnet について



末木@KISNetです。

On Wed, 19 Jan 2000 16:27:49 +0900
UNO Takeshi <uno@xxxxxxxxxxxxx> 様は書きました:
> > エラーの内容からすると、ログイン名を送信した後、Password:のプロンプトが
> > 帰ってこなくてエラーになっているということだと思うのですが・・。
> > で、Telnet.pmを変更して、ログイン名送信後にどんな文字列が帰ってきても
> > OKとさせるようにして
> >       waitfor(-match => '/password[: ]*$/i')
> >                     ==>
> >       waitfor(-match => '/.*$/i')
> 
> ということは、その接続先のpasswordのプロンプトが普通じゃない
> (=/password[: ]/にマッチしない)と違うということじゃないでしょうか?
> # 違うかもしれない。違ったらごめんなさい

実際にtelnetで接続する時には確かに'Password: 'と表示されるのですが・・・。
試しに '/Password[: ]*$/i' とか 'word[: ]*$/i' , '.*word.*$/i' などと
いろいろ試してみたのですが、結局 '/.*$/i' でないと先に進めませんでした。

> > 試したら、今度は login timed-out waiting for command prompt となって
> > しまったので、ログイン名などの送信が上手くいってないという気がするの
> > です。
> このメッセージは、ログインに成功して、コマンド送信する時にタイムアウト
> したってことだと思うんですけど。

はい、基本的にはそうなんですが。ログイン名として英数字であればどんな文字
を指定しても必ずPassword:のプロンプトを返すはずだろう、ということと、
login: のプロンプトは正しく認識している、ということを踏まえて送信のほうが
上手くいっていないのではと思ったのです。

> new Net::Telnet (<省略> , Prompt => '/bash\$ $/');
> とかして、そのユーザのshellのプロンプトがどんなのか指定する必要が
> あるはずです。(man Net::Telnetより)

試しに、コマンドプロンプトのチェックのところにも-match => '.*$/i', を
入れてみたのですが、やはり今度は、 command timed-out at ... という
エラーになってしまいました。

> なんにせよinput_logとdump_log使ってデバッグしてみてはいかがでしょう?

一度、ログをはくように指定してみたのですが、input_logやdump_logなどの
ログファイルは作成されるものの中身はカラのままで・・(T_T)。
何か、根本的に違っているのかなぁ・・(ボソッ

もうしばらくからかってみて、ダメならOSからインストールしなおして
みることにします(^^;。
まあ、インストールし直しても直る保証はないので・・引き続き情報を
お待ち申し上げます。m(_ _)m
ありがとうございました。

*=======================================*
   http://www.kis-net.ne.jp/user/kanchi/
   mailto:kanchi@xxxxxxxxxxxxx
*=======================================*