我不确定这是属于这里,还是超级用户或其他什么。我想编写一个基于linux的服务器/服务,允许我远程登录我的服务器并执行一系列任务,客户端将是一个移动应用程序,需要通过登录到服务器进行身份验证才能够执行任务。
我不确定从哪里开始工作的服务器端,并希望了解一些关于我应该看哪种机制的信息或建议。
我很高兴从现在非常非常基本的东西开始,这将允许我进行身份验证,然后给我一个单击按钮,显示该任务是否在服务器上执行。
我是否应该使用在那里运行的网络服务器,使用某些JSP或类似程序来执行此操作,或者编译本机应用程序?
如果你推荐一种方法而不是另一种方法,我想说明为什么它更适合,这应该有助于我选择一个解决方案,然后是一个“正确”的答案。
谢谢,我会提供任何可以帮助我开始正确方向的帮助。
编辑:我现在感谢,我需要使用Web服务,所以我调整问题以询问推荐哪种技术(最好是教程来创建将执行本机命令的Web服务) 。我熟悉Java,C,C#,C ++,并且将在Linux服务器上运行,但我对Web服务的经验很少/没有。
答案 0 :(得分:0)
这可以通过多种方式完成。如果我写这样的东西,我可能会写一个API,所以它可以很容易地在客户端实现。服务器是什么并不重要,只要它具有运行您需要运行的工具的权限。 API将是一个基于HTTP的API,其URL将包含:
https://server/management?userId=x&apiKey=y&command=cmd¶m1=p1¶m2=p2
这对于客户端和服务器来说都很容易实现。在服务器上,我可以拥有一组受支持的命令,每个命令都有受支持的参数,如果userId
和apiKey
有效且具有必要的权限,则只需运行命令。如果apiKey
以某种方式受到损害,只需为此userId
创建另一个,这将自动使受感染的apiKey
无效。
注意:出于安全考虑,一切都要通过HTTPS非常重要(您不希望任何人窥探您的userId
和apiKey
)。