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

我使用Ganymed库,访问http://www.ganymed.ethz.ch/ssh2/网页,下载最新版本的程序,解压后,在NetBeans下如下设置。

Java通过SSH2协议运行远程程序_第1张图片


Java通过SSH2协议运行远程程序_第2张图片

然后在我们的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程序代码已经无关紧要了。
搞定!






 


原文链接: http://blog.csdn.net/sheismylife/article/details/4823696

你可能感兴趣的:(Java通过SSH2协议运行远程程序)