J'utilise Ganymed pour exécuter des commandes OS à partir de JAVA. Sous Linux, tout fonctionne comme un charme. Le problème est avec Windows. J'obtiens l'erreur: There was a problem while connecting to [IP]:[port]
. J'ai essayé de se connecter via ip localhost/routeur/ip et le port 22/1023 et j'ai ouvert les ports sur le pare-feu windows et sur le routeur.Ganymed ne se connecte pas à Windows dans JAVA
Je suppose que le problème est qu'il n'y a rien qui écoute le port comme ssh dans Linux. Ai-je raison?
Que dois-je faire pour résoudre ce problème?
BTW, je l'ai regardé sur JSCH
lib mais Ganymed
est beaucoup plus simple
Voici mon exemple de code:
public class Test {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String hostname = "192.168.xxx.xxx", username = "xxx", password = "xxx";
int port = 1023;
try {
Connection conn = new Connection(hostname,port);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false) {
throw new IOException("Authentication failed.");
}
Session sess = conn.openSession();
sess.execCommand("ver");
System.out.println("Here is some information about the remote host:");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
String line = br.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
System.out.println("ExitCode: " + sess.getExitStatus());
sess.close();
conn.close();
} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(2);
}
}
}
Pour clarification: "Ganymed" dans ce cas est quelque chose comme une bibliothèque java SSH et non la version Eclipse "Ganymede"? – user573215
Oui est l'implémentation du protocole SSH-2 basé sur Java. J'ai édité la Question pour contenir un lien vers le projet à ceux qui ne le savent pas. – Nir