重启时正常注销所有连接的 ssh 用户

重启时正常注销所有连接的 ssh 用户

当我重新启动 Linux 服务器 (BusyBox Linux) 时,所有正在进行的 ssh 客户端连接都会陷入卡住状态,直到客户端发生超时。没有消息发送到 ssh 客户端以产生“断开连接”错误消息。这基本上使 ssh 客户端看起来像是被冻结了一样。

我正在使用 systemd 和版本 OpenSSH_5.8p2 中的 sshd 服务配置

[Unit]
Description=SSH Per-Connection Server
After=syslog.target

[Service]
ExecStart=/usr/sbin/sshd -i
SuccessExitStatus=0 255
StandardInput=socket

有没有办法为 sshd 配置正常关机?

答案1

我的(rhel)服务器上的 sshd 会话可以通过以下方式识别:

~# ps -ef |grep sshd:
root     12120     1  0 10:18 ?        00:00:00 sshd: sysope [priv]
sysope   12132 12120  0 10:18 ?        00:00:00 sshd: sysope@pts/2

终止这些进程将立即关闭连接。因此,请像这样调整 systemd 的 sshd 服务文件:

[Unit]
Description=SSH Per-Connection Server
After=syslog.target

[Service]
ExecStart=/usr/sbin/sshd -i
ExecStop=/usr/sbin/killall -9 sshd
SuccessExitStatus=0 255
StandardInput=socket

相关内容