Java通過SSH2協議運行遠程程序
我使用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程序代碼已經無關緊要了。
搞定!
原文鏈接:http://blog.csdn.net/sheismylife/article/details/4823696
【編輯推薦】