当我重新启动 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