簡體   English   中英

從Windows計算機遠程運行Linux上的進程

[英]Run a process on Linux remotely from a Windows machine

我希望能夠從運行在Windows機器上的JAVA應用程序遠程運行Linux機器上存在的進程。 做這個的最好方式是什么? 或者可能對我有幫助的在線資源? 非常感謝。

您可以使用許多Java SSH客戶端庫中的任何一個,例如javassh ,只要Linux機器運行sshd(並且防火牆都設置為允許ssh流量通過),這很可能就是這種情況。 有許多可能的方法來配置ssh身份驗證,基本上可以在網上發送密碼(安全地),或使用公鑰/私鑰對(RSA或DSA) - 后者通常更可取,但你需要與系統和網絡管理員核實這個問題......這不是一個軟件開發問題,而是一個與系統管理和安全性相關的問題。

簡而言之,使用ssh客戶端。

選項1:在Cygwin中安裝openssh軟件包。

選項2:使用Putty

在任何一種情況下,您都可以設置密鑰對以允許自動(非密碼)身份驗證。

您可以使用ssh命令登錄系統示例..

     String[] cm = {
                   "ssh",
                   "username@hostIP" ,
                   "your command"

                   };

     try
      {
       Process q=  Runtime.getRuntime().exec(cm);
       q.waitFor();
      }
    catch(Exception e) {}
  1. 在Linux計算機上將該過程公開為[fire and forget] Web服務。
  2. 從windows機器調用它。

您還可以創建一種客戶端/服務器體系結構。 您的Java客戶端將向您的Java服務器(~webservice)發送一個命令,該命令將執行所需的進程。 但顯然,這取決於你的目標。 你需要以安全的方式做到這一點嗎? 是通過互聯網還是通過本地網絡? 最后,這個過程是一個Java進程嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM