【问题标题】:Starting and stopping services on remote Linux servers在远程 Linux 服务器上启动和停止服务
【发布时间】:2012-09-09 15:00:56
【问题描述】:

我正在创建游戏服务器控制面板,但遇到了一些问题。

控制面板基本上需要向远程 Linux 服务器发出命令,启动和停止进程,我有为此编写的命令,但问题是。

  1. 我不确定是否只使用 SSH 使用 PHP 库,然后发出命令,或者在服务器上有远程文件来处理这个问题。哪个效率最高?

  2. 使用 root 帐户从 PHP 运行 SSH 命令是否安全?即使将要发送的命令是硬编码的。

  3. 如果远程 Linux 服务器需要远程文件,该用什么语言编写,什么功能最好?

如果您有任何其他解决此问题的最佳方法的想法,请分享,我将非常感激。

谢谢!

【问题讨论】:

    标签: php linux ssh


    【解决方案1】:
    1. 这是可能的,但只能在特殊场合进行。通常更简单的方法是使用某种形式的请求协议,例如 http,从而在服务器端调用预定义的例程(脚本)。服务器使用什么协议?
    2. 永远不要那样做!通常这意味着在 ssh 中授予 root 访问权限,这是不安全的。你也可以使用 sudo 或 suid bits 之类的东西,再次不安全。你甚至可以通过发送命令来完成它,因为这意味着你的设置将接受它给出的任何命令并在 root 权限下执行它。不是个好主意...
    3. 使用服务器上可用且您感觉舒适的任何语言。你用什么语言来表达你想说的话真的很重要吗?不,内容很重要。也许 coice 还取决于您选择的访问类型。某些语言在某些情况下更容易提供自己。

    简而言之:如果没有更详细的信息,就只能给出模糊的答案。

    【讨论】:

    • 运行的命令不是用户定义的,而是已经编码到系统中的,这样可以吗?
    • 通过 ssh 授予 root 访问权限绝不是一个好主意。而且我理解“正在发送命令”的段落,因此它们不会存储在系统本身上,而是也意味着通过 ssh 发送。因此,您计划提供的服务接口将以 root 身份执行从外部提供给它的代码。哎哟。
    • 不,用户有三个按钮,停止/启动/重启。这些按钮的命令已经存在,无法更改。
    • 我不明白。如果那些“命令”,按钮已经在该服务器上,你需要 ssh 做什么?我猜他们在其他系统上,所以你正在寻找一种在服务器上远程执行这些命令的方法。在这种情况下,命令是提供给服务器的外部代码,无论它们是交互式键入还是存储在某个文件中。尝试从服务器的角度思考。他不知道是谁连接...
    最近更新 更多