2009-09-28 75 views
3

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

回答

1

总之,使用ssh客户端。

选项1:在Cygwin中安装openssh软件包。选项2:使用Putty

无论哪种情况,您都可以设置密钥对以允许自动(非密码)身份验证。

5

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

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

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

0

您可以使用ssh命令登录到一个系统正 例子..

 String[] cm = { 
        "ssh", 
        "[email protected]" , 
        "your command" 

        }; 

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