使用 inittab 来确保 sshd(和其他重要项目)仍在运行——有什么缺点吗?

使用 inittab 来确保 sshd(和其他重要项目)仍在运行——有什么缺点吗?

我设法杀死了远程机器上的 sshd(通过运行使用了机器上所有可用内存的脚本,哎呀……),除了访问[1]的托管之外,我没有其他访问权限,因此,我正在考虑如何确保 sshd 始终保持运行。

除了每隔 n 分钟或几小时重启 sshd 的 cron 任务外,使用 inittab 来让 init 保持 sshd 运行似乎是个好主意

这种方法有什么缺点吗? 这似乎是 Linux 发行版默认执行的明智之举,因为 sshd 通常是机器唯一可用的访问方法。

此外,还有其他守护进程我应该使用这种方法吗?也许是监控代理,比如 nagios 的 nrpe?

[1] 是的,管理卡或网络电源开关是个好主意,但当时它们被认为是“不必要的”......

答案1

这个想法有几种实现方式。暴发户Ubuntu 使用它可以在服务死机时重新启动服务,而 Solaris 10 则具有服务管理设施运行是跨平台的,并且有前面提到的 daemontools。

答案2

我想不出其他原因不是执行 inittab 的事情,比升级后重新启动 sshd 稍微不方便一些。

除此之外:有趣的想法。

答案3

你可以告诉 linux OOM killer 不要杀死 sshd,在 google 上搜索 oom_adj 以了解更多详细信息,或者参见此处rhel 手册

答案4

一个有趣的想法。

我还没有尝试过类似的事情,但我会检查在启动过程中 inittab 中的程序是在什么时候启动的。如果启动时间太早,则可能是网络尚未运行。

相关内容