在 AIX 6100-05-01-1016 上,我不小心杀死了 sshd。但令人惊讶的是它仍然在运行。为什么?我做了一个:
kill PID
问:..所以 sshd 对正常的终止信号没有反应?或者如果旧的 sshd 被杀死,是否有任何默认的安全方法可以启动 sshd ?
答案1
现在我不能肯定地说,但 AIX 曾经运行inetd
.这是一个监听各种端口并在连接上启动另一个守护程序(如sshd
或)的守护程序。ftpd
检查inetd
或是否xinetd
正在运行 ( ps -e | grep inet
),然后查找/etc/inet.d
或/etc/xinet.d
。除此之外,我们还需要查看正在运行的内容 ( ps axo pid,cmd
)。
答案2
有一个主sshd
进程用于侦听传入连接,此外(对于 OpenSSH 的最新版本)sshd
每个传入 SSH 连接都会调用两个进程,一个以 root 身份运行,另一个以登录用户身份运行。如果您的 OpenSSH 是在没有权限分离的情况下编译的(我不知道 AIX 是否支持),那么sshd
除了主进程之外,每个连接还会有一个进程。
您必须杀死每个连接sshd
或主进程,但不能同时杀死两者。如果您仍然可以通过 SSH 登录,那么您杀死的是每个连接进程。
答案3
也许有一个“隐藏”脚本来检查 sshd 是否运行,如果它不运行,则会启动它。