抛开安全风险,我需要一种临时方法,通过网络重启而不依赖 SSH。我的 SSH 服务器还有一些其他问题,我需要更多时间来解决这些问题,因此需要一种绕过 ssh 进行重启的方法。
如何使用表在服务器上监听持久连接cron
(我假设是这样root
)以及我应该在客户端执行什么命令?(我有一个粗略的想法,但我可能不知道这个特定用例的所有选项)
答案1
您不会为此使用 cron - 您可以使用 inetd(取决于您的特定发行版)
我不喜欢这个解决方案,但也许你可以做一些事情,比如添加
nc -l 2222 | /bin/bash -e
到 /etc/rc.local,它会静默地等待端口 2222,然后发出 shell。在防火墙上允许适当的主机后,您可以连接到此主机并静默发出重新启动命令(它不会将结果输出到终端)。请注意,我尚未对此进行全面测试。
解决问题的一个更简单的方法可能是简单地为您的发行版安装“telnetd”并使用普通的旧 telnet 连接到您的系统 - 这就是我们在 SSH 之前所做的事情(...现在从我的草坪上走开!)
解决问题的另一种方法是使用 crond,即设置类似 FTPD 的东西。然后编写一个脚本,该脚本每分钟(或其他时间)从 cron 运行一次,以检查该文件是否存在,如果存在则重新启动。这样,您还可以通过 (a) 依赖 FTP 的有效用户名/密码和文件名称获得一些保护。但它仍然不是加密会话。