Sisteminizi kapattığınızda veya yeniden başlattığınızda, systemdtüm hizmetleri olabildiğince hızlı durdurmaya çalışır. Bu, ağı düşürmeyi ve hala hayatta olan tüm süreçleri - genellikle bu sırayla - sonlandırmayı içerir. Bu nedenle systemd, SSH oturumlarınızı işleyen çatallı SSH işlemlerini öldürdüğünde, ağ bağlantısı zaten devre dışıdır ve istemci bağlantısını zarif bir şekilde kapatmanın bir yolu yoktur.
İlk düşünceniz, kapatma sırasında ilk adım olarak tüm SSH işlemlerini öldürmek olabilir ve orada bunu yapan birkaç sistemd hizmet dosyası vardır.
Ama elbette daha temiz bir çözüm var (nasıl yapılması gerekiyordu) systemd-logind.
systemd-logindetkin kullanıcı oturumlarını (yerel ve SSH olanlar) izler ve bunlar içinde oluşan tüm işlemleri "dilimler" olarak adlandırır. Bu şekilde, sistem kapatıldığında, systemd kullanıcı dilimleri içindeki her şeyi SIGTERM (belirli bir oturumu gerçekleştiren çatallı SSH işlemini içerir) ve sonra hizmetleri ve ağı kapatmaya devam edebilir.
systemd-logindyeni kullanıcı oturumlarından haberdar olmak için bir PAM modülü gerektirir ve durumunu kontrol etmek dbusiçin kullanmanız gerekir loginctl, bu nedenle her ikisini de yükleyin:
apt-get install libpam-systemd dbus
/etc/ssh/sshd_configAslında modülü kullanacağınızdan emin olun UsePAM yes.