systemdをインストールした後、システムはSSHを拒否し、「開始」状態で停止します。

systemdをインストールした後、システムはSSHを拒否し、「開始」状態で停止します。

Azureで作成されたLinux Ubuntu VM(14.04 LTS)で再現可能な問題が発生しました。

systemdスクリプトを介してパッケージをインストールした後、システムは新しいSSH接続を無期限に拒否します。

システムが起動中です。

xxx.xxx.xxx.xxx によって接続が終了しました。

ただし、アクティブなSSH接続は変更されません。/etc/nologinシステムにファイルがありません。

私が見ることができる唯一のオプションは、問題を解決するためのハードリセットだけです。しかし、どのように避けることができますか?

これは私が使用するスクリプトです。

#!/bin/bash

# Script input arguments
user=$1
server=$2

# Tell the shell to quote your variables to be eval-safe!

printf -v user_q '%q' "$user"
printf -v server_q '%q' "$server"
#

SECONDS=0
address="$user_q"@"$server_q"

function run {
    ssh "$address" /bin/bash "$@"
}

run << SSHCONNECTION
    # Enable autostartup

        # systemd is required for the autostartup
        sudo dpkg-query -W -f='${Status}' systemd 2>/dev/null | grep -c "ok installed" > /home/$user_q/systemd-check.txt
        systemdInstalled=\$(cat /home/$user_q/systemd-check.txt)
                
        if [[ \$systemdInstalled -eq 0 ]]; then
            echo "Systemd is not currently installed. Installing..."
            
            # install systemd
            sudo apt-get update
            sudo apt-get -y install systemd

        else
            echo "systemd is already installed. Skipping this step."
        fi

SSHCONNECTION

ベストアンサー1

/etc/nologinsystemdをインストールした後も削除されないファイル(「システムが起動中です」という内容)があるようです。

[更新]あなたに影響を与えるのはUbuntuのBTSで報告されたバグ去る12月。これは、システムのインストールの終わりにファイルが削除されないためです/var/run/nologin(=シンボリックリンクで/run/nologinあるため)。/var/run/run

/etc/nologin標準の nologin ファイルです。/var/run/nologinPAMモジュールで利用可能な代替ファイルですnologinman pam_nologin)。

nologinこれらのファイルはrootユーザーの接続に影響を与えず、通常のユーザーのログインのみを防ぐことに注意してください。

おすすめ記事