我目前通过手机上的 SSH 控制我的服务器。有时互联网连接不稳定或出现问题,或者有时我有一些不太紧急的查询,不想费尽心思启动 SSH 应用程序。
感谢评论中的建议,我选择了 xmpp。从我读到的内容来看,我需要一个 xmpp 机器人。
如何让支持 OTR 的 xmpp 机器人在收到消息后运行脚本,然后通过 xmpp 发回响应?
我不介意托管 xmpp 服务器,或者我可以使用第三方服务器。我在服务器上拥有 root 访问权限,它运行的是 Debian。
我希望你能提供一个简短的例子。
答案1
实现这一目标的方法有很多种,如果要全部描述出来的话得花上一周的时间!
您真正需要的只是服务器上的某个东西,它可以监控您的收件箱(或备用文件夹) - 阅读适当的消息 - 过滤它们以确保安全,然后解析数据并传递给命令处理器 - 命令运行并返回一些状态数据,这些数据将作为回复电子邮件发送。在此过程中,您需要更新电子邮件上的标志,以便您不会重新处理它们。
我过去编写过许多类似的系统,它们非常有用且功能强大。
如果您不喜欢编程,那么使用像 IFTTT 这样的带有服务器上通知服务的东西也是可行的,因为 IFTTT 将充当代理。
但实际上,你应该看看一些定制的编程。所有脚本语言(如 Node.JS、Python 和 PHP)都有电子邮件处理库,可以使用 IMAP 与电子邮件交互,我使用过 PHP 和 Node.JS。
如果这对您来说太难了,那么如何在运行进程的服务器上设置一个网站呢?我也这样做过!例如,我有一个 Node.JS 应用程序,可以远程运行 Windows PowerShell 和其他脚本。(但从未完成过它的安全性,这就是它未发布的原因)。
值得庆幸的是,几年前就有人做到了。安装网页明服务器上提供了一个功能齐全的远程管理 Web 界面。
更新:我告诉过你有很多方法!如果你的盒子上有带有 procmail 的电子邮件服务器,那将是小菜一碟。
但是,一种方法是将 dropbox 安装到服务器上(如果您不想泄露主登录名,可以使用新登录名)。然后使用 IFTTT 收听其他渠道 - 电子邮件、短信(在某些国家/地区)或其他渠道之一。使用它将包含说明的文本文件放入 dropbox。在服务器上有一个脚本,您每隔几分钟使用 CRON 运行一次(或者如果您知道如何创建文件系统监视),该脚本会查找新文件、读取它们并根据需要执行。还有更多详细信息这里,这里,这里其中第一个向您展示了 Dropbox 部分,其他部分展示了一些有关使用 IFTTT 的附加想法。