我需要显示一些服务器信息并允许通过 Web 界面访问一些命令。我认为一种安全的方法是仅通过 ssh 为网站提供服务。
我见过通过 ssh 上的 X 转发打开服务器上运行的 Firefox 的示例,这样我就可以将站点限制到本地主机。我希望能够以某种方式让 Firefox 在本地运行,但仅通过 ssh 提供服务。
您能给我指明正确的方向吗?这可能吗?
答案1
在服务器上运行 Firefox 不是一个好主意。运行 SSH 的 X 转发很慢、很笨拙,并且需要客户端上的 X 服务器。使用 SSH 来保护网络连接很笨拙,对于典型的最终用户来说非常困难。
总结:不要做任何这些事。
使用 SSL 保护您的流量。使用帐户登录来限制访问。使用标准行业惯例,一切都将按预期运行,用户将感到高兴,世界将和平……或者至少当您的应用程序无法运行时人们不会变得暴力。
答案2
这是可能的!但是当远程执行并且由于某种原因 ssh 不是一种选择时,通过 Web 服务器发出 OS 命令是有意义的。如果您有 SSH 访问权限,也许您可以为每个用户设置适当的权限架构并允许他们使用 SSH。
如果您仍想通过 HTTP 执行此操作,则可以使用 PHP 通过以下方式传输 OS 命令:
<?php
$var1 = exec("find / -name 'foo'");
echo $var1 // echo out the result
?>
当然,您通过管道传输到命令行的任何内容都可以从表单中检索。无论如何,您仍需要在 php 文件上设置适当的权限,以确保只有允许的用户才能访问表单,否则您将在 Internet 用户的安全上下文中通过管道传输 OS 命令,这根本不是一个好主意。