Linux
重新啟動時優雅地註銷所有連接的 ssh 使用者
當我重新啟動我的 Linux 伺服器(BusyBox Linux)時,所有正在進行的 ssh 客戶端連接都會進入卡住狀態,直到客戶端發生超時。沒有消息發送到 ssh 客戶端以產生“斷開連接”錯誤消息。這基本上使 ssh 客戶端看起來像是被凍結了。
我在 OpenSSH_5.8p2 版本中將 systemd 與此服務配置一起用於 sshd
[Unit] Description=SSH Per-Connection Server After=syslog.target [Service] ExecStart=/usr/sbin/sshd -i SuccessExitStatus=0 255 StandardInput=socket
有沒有辦法為 sshd 配置優雅關閉?
我的(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