เมื่อคุณปิดหรือรีบูตระบบของคุณsystemd
พยายามที่จะหยุดบริการทั้งหมดให้เร็วที่สุดเท่าที่จะทำได้ ที่เกี่ยวข้องกับการนำเครือข่ายและยุติกระบวนการทั้งหมดที่ยังมีชีวิตอยู่ - ตามปกติ ดังนั้นเมื่อ systemd ฆ่ากระบวนการ SSH ที่มีการแยกซึ่งจัดการเซสชัน SSH ของคุณการเชื่อมต่อเครือข่ายจะถูกปิดใช้งานแล้วและพวกเขาไม่มีวิธีปิดการเชื่อมต่อไคลเอ็นต์อย่างสง่างาม
ความคิดแรกของคุณอาจเป็นเพียงการฆ่ากระบวนการ SSH ทั้งหมดเป็นขั้นตอนแรกในระหว่างการปิดระบบและมีเซอร์วิสไฟล์ systemd เพียงไม่กี่รายการที่ทำเช่นนั้น
แต่มีแน่นอนการแก้ปัญหา neater (วิธีการที่จะ "ควร" systemd-logind
จะต้องทำ):
systemd-logind
ติดตามเซสชันผู้ใช้ที่ใช้งานอยู่ (โลคอลและ SSH) และกำหนดกระบวนการทั้งหมดที่เกิดขึ้นภายในพวกเขาให้เรียกว่า "สไลซ์" ด้วยวิธีนี้เมื่อระบบปิดระบบ systemd สามารถเพียงแค่ SIGTERM ทุกอย่างภายในชิ้นส่วนของผู้ใช้ (ซึ่งรวมถึงกระบวนการ SSH แบบแยกส่วนที่ส่งเซสชันเฉพาะ) แล้วจึงปิดบริการและเครือข่ายต่อไป
systemd-logind
ต้องการโมดูล PAM เพื่อรับการแจ้งเตือนเกี่ยวกับเซสชันผู้ใช้ใหม่และคุณจะต้องdbus
ใช้loginctl
เพื่อตรวจสอบสถานะดังนั้นจึงควรติดตั้งทั้งสองอย่าง:
apt-get install libpam-systemd dbus
ให้แน่ใจว่าคุณเป็นจริงจะใช้โมดูลที่มี/etc/ssh/sshd_config
UsePAM yes