我设法杀死了远程机器上的 sshd(通过运行使用了机器上所有可用内存的脚本,哎呀……),除了访问[1]的托管之外,我没有其他访问权限,因此,我正在考虑如何确保 sshd 始终保持运行。
除了每隔 n 分钟或几小时重启 sshd 的 cron 任务外,使用 inittab 来让 init 保持 sshd 运行似乎是个好主意。
这种方法有什么缺点吗? 这似乎是 Linux 发行版默认执行的明智之举,因为 sshd 通常是机器唯一可用的访问方法。
此外,还有其他守护进程我应该使用这种方法吗?也许是监控代理,比如 nagios 的 nrpe?
[1] 是的,管理卡或网络电源开关是个好主意,但当时它们被认为是“不必要的”......
答案1
答案2
我想不出其他原因不是执行 inittab 的事情,比升级后重新启动 sshd 稍微不方便一些。
除此之外:有趣的想法。
答案3
你可以告诉 linux OOM killer 不要杀死 sshd,在 google 上搜索 oom_adj 以了解更多详细信息,或者参见此处rhel 手册
答案4
一个有趣的想法。
我还没有尝试过类似的事情,但我会检查在启动过程中 inittab 中的程序是在什么时候启动的。如果启动时间太早,则可能是网络尚未运行。