Java通过SSH2协议运行远程程序


  我使用Ganymed库,下载最新版本的程序,解压后,在NetBeans下如下设置。

  然后在我们的Java应用程序中,加入Ganymed-ssh2-build2库。

  假定我在192.168.0.110的Ubuntu Server 9.04系统的/home/chenshu目录下放了一个文件夹test,test文件夹对应测试Java类的包名test,我们在该机器上运用javac ./test/Main.java编译后,在另一台机器上运行Java程序,该程序通过调用我们新建的Ganymed-ssh2-build2库的类完成远程调用功能:

  package javaapplication3; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.ConnectionInfo; import ch.ethz.ssh2.Session; /** * * @author chenshu */ public class Main { public static void main(String[] args) { try { Connection con = new Connection("192.168.0.110"); ConnectionInfo info = con.connect(); boolean result = con.authenticateWithPassword("chenshu", "770328"); Session session = con.openSession(); session.execCommand("java test.Main"); } catch (Exception ex) { System.out.println(ex.getLocalizedMessage()); } } }

  现在看看服务器上,多了一个test.txt,那是test.Main类运行后产生的文件。你们可以随便放一个Java测试程序,这里test程序代码已经无关紧要了。

相关内容