3

私の目的は、sshシェルを介してリモートコマンドを実行することです。そのため、以前はjsch接続を確立して試しました

Channel channel=session.openChannel("exec");

のようないくつかのコマンドを実行していませんdir

そのため、シェルで試しましたがSystem.in、GUIのみを介してコマンドを与える必要があるため、に値を渡すことができませんでした

Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);

上記のコードでは、System.in ではなく GUI から文字列を介して値を渡す必要があります。

だから私は次のようなものを試しました

String cmd="help";
InputStream is = new ByteArrayInputStream(cmd.getBytes());
System.setIn(is);
channel.setInputStream(System.in);

しかし、それでも出力を取得できません。

4

1 に答える 1