Mon objectif est d'exécuter une commande à distance via un shell ssh. J'ai donc utilisé jsch
pour établir une connexion et essayé
Channel channel=session.openChannel("exec");
mais cela ne fonctionne pas avec certaines commandes comme dir
.
J'ai donc essayé avec un shell mais je n'ai pas pu transmettre de valeur à System.in
, car je dois donner la commande uniquement via une interface graphique
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
Dans le code ci-dessus, je dois transmettre une valeur via une chaîne de caractères à partir de l'interface graphique au lieu de System.in.
J'ai donc essayé quelque chose comme
String cmd="help";
InputStream is = new ByteArrayInputStream(cmd.getBytes());
System.setIn(is);
channel.setInputStream(System.in);
Mais même ainsi je n'arrive pas à obtenir de sortie.