종료 명령을 보낸 후 ssh 세션이 종료되지 않습니다 수 없습니다). 우분투에서 동일한

데비안 서버를 끄거나 다시 시작하라는 명령을 보낼 때마다, 쉘은 멈추고 응답하지 않습니다 (명령을 입력 할 수 없습니다).

여기에 이미지 설명을 입력하십시오

우분투에서 동일한 작업을 수행하면 세션이 정상적으로 종료되므로 연결된 터미널이 남아 있지 않습니다. 데비안에서 이와 동일한 동작을 수행 할 수 있도록 설치해야 할 패키지 또는 구성 변경이 있습니까?



답변

이것은 나를 위해 일했다 :

apt-get install libpam-systemd dbus

또한 UsePAM yesssh 구성에 있는지 확인하십시오 .

grep -i UsePAM /etc/ssh/sshd_config

불행히도 솔루션을 적용하려면 재부팅해야합니다 …

serverfault에 대한 자세한 설명 .


답변

그런 외모는 A의 systemd현재에서 추적 문제 버그 # 751636 .

호스트가 종료되거나 다시 시작되면 systemdssh 세션을 종료하기 전에 네트워크가 종료 될 수 있습니다.

제공되는 몇 가지 솔루션이 있지만 구체적인 것은 없습니다.

  1. 사용 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'
    
  2. /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
    

답변