3
<?xml version="1.0" ?>
<project name="test" default="root">
    <target name="telnet">
        <telnet server="10.1.1.1">
            <read>login:</read>
            <write>root</write>
            <read>password:</read>
            <write>${PASSWORD}</write>
            <read>#</read>
            <write>ls</write>
            <read>#</read>
        </telnet>
    </target>
</project>

これが、build.xmlファイルにあるコードです。ant(バージョン1.8、bash)を実行すると(commons-net-2.0およびjakarta-oro-2.0.8のjarファイルをダウンロードしてコピーしました)、次の出力が得られます。

Buildfile: /home/sagar/build.xml

telnet:

そしてそれはただそこに座っています。サーバーで「who」を実行すると、ログインを待機している「System」が表示されます。しかし、これ以降の進展はありません。通常のtelnet手段(パテ、bashなど)を使用してサーバーにtelnet接続できます。

読み取り/書き込みの代わりに完全なtelnetコマンドを試しました。

<telnet server="10.1.1.1" userid="root" password="root">

どんな助けでも大歓迎です!

Note: JRE 1.5, Ant 1.8, commons-net version 2.0, jakarta version 2.0.8

4

2 に答える 2

4

理解した。この問題を抱えている他の人のために:

Ant1.8.0はcommons-net-telnetでは機能しないようです。理由はわかりませんが、バージョン1.7に下げることができれば、機能します。

6時間のヘッドバンギングとフラストレーションの後、それは文書化されていないバージョンの問題です。素晴らしい!>:

于 2010-04-28T19:56:08.387 に答える
0

Antの専門家ではありませんが(私はダークサイドでNantを使用しています)、telnetタスクを見ると、initialCRログイン後にキャリッジリターンを送信するという属性があるようです。デフォルト値は「no」のようです。

私の考えでは、ユーザー名/パスワードは送信されていません。つまり、「疑似エンターキー」が押されるのを待っているだけです。

http://ant.apache.org/manual/Tasks/telnet.html

お役に立てれば

于 2010-04-28T16:11:13.860 に答える