Debianサーバーをシャットダウンまたは再起動するコマンドを送信するたびに、シェルがハングして応答しません(コマンドを入力できません)。
Ubuntuで同じことを行うと、セッションは正常に終了するため、バンドル端末はそこにありません。Debian で同じ動作を得るためにインストールする必要があるパッケージや設定の変更はありますか?
答え1
これは私にとって効果的です。
apt-get install libpam-systemd dbus
UsePAM yes
また、SSH設定に対応するエントリがあることを確認してください。
grep -i UsePAM /etc/ssh/sshd_config
残念ながら、ソリューションを適用するには再起動する必要があります。
上海サーバー障害。
答え2
systemd
現在追跡している問題のようです。バグ #751636。
ホストがシャットダウンまたは再起動されると、systemd
SSHセッションが終了する前にネットワークがシャットダウンする可能性があります。
いくつかの解決策が提供されていますが、具体的な内容はありません。
電源イベントを処理するには、
acpid/acpi-support-base
以下を追加します。/etc/acpi/powerbtn-acpi-support.sh
else - # Normal handling. - /sbin/shutdown -h -P now "Power button pressed" + + if [ -x /bin/systemctl ] ; then + echo "\nPower button pressed\nThe system is going down for system halt NOW!" |\ + /usr/bin/wall -n + /bin/systemctl --force poweroff + else + # Normal handling. + /sbin/shutdown -h -P now "Power button pressed" + fi + fi
次に、次のようにエイリアスを作成します
~/.bashrc
。alias reboot='echo "The system is going down for system reboot NOW!" |\ /usr/bin/wall -n ; /bin/systemctl --force reboot' alias poweroff='echo "The system is going down for system halt NOW!" |\ /usr/bin/wall -n ; /bin/systemctl --force poweroff'
/etc/systemd/system/ssh-user-sessions.service
次のコンテンツを使用して作成します。[Unit] Description=Shutdown all ssh sessions before network After=network.target [Service] TimeoutStartSec=0 Type=oneshot RemainAfterExit=yes ExecStart=/bin/true ExecStop=/usr/bin/killall sshd