[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
*=======================================*