从Windows计算机远程运行Linux上的进程

时间:2009-09-28 17:48:19

标签: java linux remoting

我希望能够从运行在Windows机器上的JAVA应用程序远程运行Linux机器上存在的进程。做这个的最好方式是什么?或者可能对我有帮助的在线资源?非常感谢。

5 个答案:

答案 0 :(得分:5)

你可以使用许多Java SSH客户端库中的任何一个,例如javassh,只要Linux机器运行sshd(并且防火墙都设置为让ssh流量通过),这可能是是这样的。有许多可能的方法来配置ssh身份验证,基本上可以在网上发送密码(安全地),或使用公钥/私钥对(RSA或DSA) - 后者通常更可取,但你需要请向系统和网络管理员咨询此问题......这不是软件开发问题,而是与系统管理和安全性相关的问题。

答案 1 :(得分:1)

简而言之,请使用ssh客户端。

选项1:在Cygwin中安装openssh软件包。

选项2:使用Putty

在任何一种情况下,您都可以设置密钥对以允许自动(非密码)身份验证。

答案 2 :(得分:0)

  1. 在Linux计算机上将该过程公开为[fire and forget] Web服务。
  2. 从Windows机器调用它。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您可以使用ssh命令登录系统 例如..

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

                   };

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