【问题标题】:Run a process on Linux remotely from a Windows machine从 Windows 机器远程运行 Linux 上的进程
【发布时间】:2009-09-28 17:48:18
【问题描述】:

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

【问题讨论】:

    标签: java linux remoting


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      选项 2:使用Putty

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

      【讨论】:

        【解决方案3】:
        1. 将进程公开为 Linux 机器上的 [即发即弃] Web 服务。
        2. 从 windows 机器调用它。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

                 String[] cm = {
                               "ssh",
                               "username@hostIP" ,
                               "your command"
            
                               };
            
                 try
                  {
                   Process q=  Runtime.getRuntime().exec(cm);
                   q.waitFor();
                  }
                catch(Exception e) {}
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-07-30
              • 1970-01-01
              • 2015-01-19
              • 1970-01-01
              • 1970-01-01
              • 2012-09-12
              相关资源
              最近更新 更多