Mám podezření, že existuje /etc/nologin
soubor (jehož obsah by byl "Systém se spouští."), který není po instalaci systemd odstraněn.
[update] Co vás ovlivňuje, je chyba, která byla nahlášena na BTS Ubuntu loni v prosinci. Je to kvůli /var/run/nologin
soubor (=/run/nologin
od /var/run
je symbolický odkaz na /run
), který není na konci instalace systemd odstraněn.
/etc/nologin
je standardní nologin soubor. /var/run/nologin
je alternativní soubor, který může používat nologin
Modul PAM (man pam_nologin
).
Všimněte si, že žádný z nologin
soubory ovlivňují připojení uživatele root, pouze běžní uživatelé se nemohou přihlásit.
@xhienne mi dala správný směr.
Po prohledání systému souborů jsem našel /run/nologin
(@xhienne navrhl /etc/nologin), odstranění, které problém vyřešilo.
Podmínka existovala v /usr/lib/tmpfiles.d/systemd.conf
Tento krok zahrnu do svého skriptu.
sudo rm /run/nologin
Note: This answer is applicable whether or not systemd was recently installed or not.
The issue was observed even after systemd had been installed a long time.
Zdá se, že nástroj na sledování chyb distribuce Mageia má otevřený související problém:Chyba 21080 - přihlášení ssh zakázáno /run/nologin po restartu.
Poté, co jste se s tímto problémem setkali poměrně často, nalezení sledovacího nástroje pomohlo identifikovat řešení, které by mohlo být vhodnější než pouhé odstranění /run/login soubor.
Zde jsou některá data související s dotazy na informace v tomto nástroji pro sledování chyb:
$ ls -l /run/nologin
-rw-r--r-- 1 root root 42 Mar 6 10:11 /run/nologin
$ cat /run/nologin
"System is booting up. See pam_nologin(8)"
$ date
Tue Mar 6 11:10:38 CST 2018
$ uptime
11:15:10 up 1:04, 0 users, load average: 0.07, 0.07, 0.08
$ systemctl status systemd-user-sessions.service
● systemd-user-sessions.service - Permit User Sessions
Loaded: loaded (/usr/lib/systemd/system/systemd-user-sessions.service; static
Active: inactive (dead)
Docs: man:systemd-user-sessions.service(8)
$ systemctl show -p Requires,Wants,Requisite,BindsTo,PartOf,Before,After systemd-user-sessions.service --no-pager
Requires=system.slice sysinit.target
Requisite=
Wants=
BindsTo=
PartOf=
[email protected] prefdm.service crond.service multi-user.target plymouth-quit-wait.service session-c2.scope display-manager-failure.service systemd-ask-password-wall.service session-c1.scope [email protected] shutdown.target [email protected] user-983.slice user-1000.slice plymouth-quit.service
After=system.slice systemd-journald.socket remote-fs.target network.target systemd-journal-flush.service sysinit.target nss-user-lookup.target basic.target
Zdá se, že nástroj na sledování chyb a výše uvedené informace ukazují, že problém je ve skutečnosti způsoben selháním spuštění služby systemd-user-sessions.service démon.
To se ve skutečnosti děje v mém případě, takže následující řešení dočasně opravuje podmínku zakázaného přihlášení:
$ sudo systemctl start systemd-user-sessions.service
Poté, co to uděláte, /run/nologin soubor již není přítomen a lze SSH z jiného systému. Upozorňujeme však, že to není spolehlivé, protože někdy uživatel nemá přístup ke konzoli postiženého systému.