我使用Ganymed库,访问http://www.ganymed.ethz.ch/ssh2/网页,下载最新版本的程序,解压后,在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程序代码已经无关紧要了。