2016-05-10 7 views
1

Ich habe mit unten Code versucht. aber Putty startet und schließt imidiatly. in der Datei command.txt enthalten ls -lrt code.Wie verbindet man den Putty über Java-Code und übergibt Befehl an Terminal?

Runtime r = Runtime.getRuntime(); 
    //Runtime r2 = Runtime.getRuntime(); 
    Process p = null; 
    //Process p2 = null; 
    String s = "D:\\Nandan\\putty.exe -ssh -l ***** -pw ******** XX.XX.XX.XX -m D:\\Nandan\\command.txtx"; 
    //String s2 = "ls -lrt"; 
    try 
    { 
     p = r.exec(s); 
     p.waitFor(); 

    } catch (Exception e) 
    { 
     System.out.println("Exception error :"+e.getMessage()); 
     e.printStackTrace(); 
    } 
+0

Warum Sie Kitt verwenden wollen. Sie können direkt ssh verwenden – Sanjeev

Antwort

3

Putty ist SSH-Client, sodass Sie stattdessen Kitt des Aufrufs können Sie direkt java ssh Bibliothek JSch.jar für ausführen jede Operation auf einem Linux-Rechner verwendet. unten ist Beispielcode für die gleiche

Session session = new JSch().getSession(user, hostName, 22);   
session.setPassword(password); 
java.util.Properties config = new java.util.Properties(); 
config.put("StrictHostKeyChecking", "no"); 
session.setConfig(config); 
session.connect(); 
Channel channel=session.openChannel("exec"); 
((ChannelExec)channel).setCommand("some command here"); 
String result = IOUtils.toString(channel.getInputStream()); 
channel.disconnect(); 
session.disconnect(); 

um mehr zu erfahren über den Link gehen Sie bitte http://www.jcraft.com/jsch/examples/