从Windows机器远程在Linux上运行进程

3
我希望能够从运行在Windows机器上的Java应用程序远程运行Linux机器上存在的进程。如何做到这一点是最好的方式?或者有什么在线资源可以帮助我吗?非常感谢。
5个回答

5

只要Linux机器运行着sshd(并且防火墙都设置好了以允许ssh流量通过),您就可以使用众多Java SSH客户端库之一,例如javassh。有许多可能的ssh身份验证配置方式,基本上可以归结为在网络上安全地发送密码或使用公钥/私钥对(RSA或DSA)-后者通常更可取,但您需要与系统和网络管理员确认此问题...这不是一个软件开发问题,而是与系统管理和安全性有关。


1
简而言之,使用ssh客户端。
选项1:在Cygwin中安装openssh软件包。
选项2:使用Putty
无论哪种情况,您都可以设置密钥对以允许自动(非密码)身份验证。

0

您可以使用ssh命令登录到系统,例如:

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

                   };

     try
      {
       Process q=  Runtime.getRuntime().exec(cm);
       q.waitFor();
      }
    catch(Exception e) {}

0
  1. 在 Linux 机器上将该过程公开为“fire and forget”Web 服务。
  2. 从 Windows 机器调用它。

0

您还可以创建一种客户端/服务器架构。您的Java客户端将向您的Java服务器(~ Web服务)发送命令,该服务器将执行所需的进程。 但显然,这取决于您的目标。 您需要以安全的方式完成吗? 是通过互联网还是在本地网络内进行? 最后,该进程是否为Java进程?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接