2013-08-04 4 views
0

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); 
     } 
    } 
} 
+0

Pour clarification: "Ganymed" dans ce cas est quelque chose comme une bibliothèque java SSH et non la version Eclipse "Ganymede"? – user573215

+0

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

Répondre

0

Vous devez installer ssh ouvert sur les fenêtres pour maintenir le fonctionnement du serveur ssh, qui serait agir comme une interface d'écoute pour les connexions entrantes