0

Java で Ganymed ライブラリを使用して接続をテストしようとすると、少し問題が発生します。2 週間前は問題なく正常に動作していましたが、現在は次のエラー メッセージが表示されています。

The execute request failed.

これは、Ganymed の「execCommand()」メソッドと関係があります。WinSCP を使用して接続すると、すべてが機能しますが、Java を使用して接続しようとするとエラーが発生します。ファイアウォールも原因である可能性があるかどうかも考えています。

tail コマンドを実行するために使用しているコードは次のとおりです。

      import java.io.BufferedReader;
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.InputStreamReader;
      import java.util.HashMap;
      import java.util.Map;
      import ch.ethz.ssh2.Connection;
      import ch.ethz.ssh2.Session;
      import ch.ethz.ssh2.StreamGobbler;


     public class SSHTesting {


public static void main(String[] args) {


    try{ Connection conn = new Connection("eappdev101.momentum.co.za");

    conn.connect();

        boolean isAuthenticated = conn.authenticateWithPassword("username", "password");

        if (isAuthenticated == false) {
            System.out.println("Credentials are wrong.");
        }

        Session sess = conn.openSession();

        sess.execCommand("tail -f /logs/SystemOut.log");
        InputStream stdout = new StreamGobbler(sess.getStdout());
        BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

        sess.close();
        conn.close();
        System.out.println("Done");
}

catch(Exception ie){
    System.out.println(ie.getMessage());
}



}

    }

どんな光の小屋も高く評価されています。前もって感謝します。

4

1 に答える 1