GNU/Linux >> Linux の 問題 >  >> Linux

systemd のインストール後、システムが SSH を拒否し、「起動中」のままになる

/etc/nologin があると思われます systemd のインストール後に削除されないファイル (内容は「システムが起動しています。」)。

[更新] 影響を受けるのは、昨年 12 月に Ubuntu の BTS で報告されたバグです。 /var/run/nologin が原因です ファイル (=/run/nologin /var/run以降 /run へのシンボリックリンクです ) systemd インストールの最後に削除されません。

/etc/nologin 標準の nologin ファイルです。 /var/run/nologin nologin で使用できる代替ファイルです。 PAM モジュール (man pam_nologin ).

nologin のいずれでもないことに注意してください ファイルはユーザー root による接続に影響し、通常のユーザーのみがログインできなくなります。


@xhienne が正しい方向性を教えてくれました。

ファイルシステムを検索した後、/run/nologin を見つけました (@xhienne は /etc/nologin を提案) ファイルを削除して問題を解決しました。

状態は /usr/lib/tmpfiles.d/systemd.conf にありました

このステップをスクリプトに含めます。

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.

Mageia ディストリビューションのバグ トラッカーには、関連する問題が未解決のようです:バグ 21080 - 再起動後に /run/nologin によって ssh ログインが無効になります。

この問題が頻繁に発生した後、トラッカーを見つけることで、単純に /run/login を削除するよりも適切な回避策を特定することができました。 ファイル。

そのバグ トラッカーの情報のクエリに関連するデータを次に示します。

$ 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

バグトラッカーと上記の情報は、問題が実際には systemd-user-sessions.service の開始の失敗によるものであることを示しているようです

これは実際に私の場合に起こっていることなので、次の回避策でログイン禁止状態を一時的に修正します:

$ sudo systemctl start systemd-user-sessions.service

これを行った後、/run/nologin ファイルは存在しなくなり、別のシステムから SSH で接続できます。ただし、ユーザーが影響を受けるシステムのコンソールにアクセスできない場合があるため、これは信頼できないことに注意してください。


Linux
  1. システムでSSHアクセスを保護する8つの方法

  2. スーパーブロック、iノード、Dentry、およびファイル?

  3. Linux でファイルシステムをマウントおよびアンマウントする方法

  1. BTRFS ファイル システムを作成してクエリを実行する方法

  2. Systemd:After と Requires の両方を使用する

  3. ユーザーのログイン後に systemd サービスを開始し、ユーザーのログアウト前に停止する方法

  1. systemdを使用してスタートアップを管理する

  2. Linuxインタビューの質問と回答のトップ25

  3. アイドル時間後に systemd サービスを非アクティブ化する