我想以编程方式从基于Window的Qt C ++应用程序远程运行Linux命令。什么是最简单的方式?
答案 0 :(得分:1)
一种方法是,拥有客户端 - 服务器模型,服务器驻留在Linux中,客户端可以是您的计算机。这样你就可以向服务器发送命令,并向你抛出输出。这是我想到这个问题的一种方式。
使用UPnP通过防火墙(或使用NAT遍历或UDP / TCP打孔)。否则(不转发端口)将无法到达服务器。
第二种是编写自己的RSH和SSH实用程序。 (或使用腻子或其他预先存在的软件)
答案 1 :(得分:1)
Linux机器上需要某种服务器,而Windows机器将是客户端。我想说最简单的方法就是制作一个php脚本来运行你的命令并将其放在你的www根目录中,并让你的Windows机器获取该URL。
在一天结束时,如果不了解您对安全性的要求以及您将要运行的命令类型,则很难对此问题给出明确的答案。
答案 2 :(得分:1)
只需使用套接字连接到linux上的telnet服务器,然后发送命令。
这实际上只需要很少的代码。在这里查看Java版本:
Sending telnet commands and reading the response with Java
您也可以使用Qt / C ++进行类似的操作。
答案 3 :(得分:1)
简单的服务器端程序将处理请求,然后使用ex system()函数将是这个“远程”解决方案的一部分。
在客户端上,由函数处理的简单文本字段将能够连接到服务器以发送命令运行请求。
此解决方案中最重要的事情是关注安全性。
答案 4 :(得分:0)
如果您在Windows上使用任何版本,都可以使用Plink。如果你可以运行PuTTY,那么你可以运行PLink。 PuTTY Plink Documentation。使用它你可以使用可执行文件,并自动化。否则,如果您正在寻找特定的编程语言,它们仍然依赖于某些SSH库。如果您正在编写自己的安装程序,则可以在安装程序中包含PLink.exe,并将其与您的应用程序一起分发。
从文档页面:
Z:\ sysosd> plink login.example.com'echo“Hello World”'