我有一个问题,可以在Azure中创建的Linux Ubuntu VM(14.04 LTS)上重现.
通过脚本安装systemd包后,系统无限地拒绝新的ssh连接.
System is booting up.
Connection closed by 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
解决方法:
我怀疑有一个/ etc / nologin文件(其内容将是“System is booting up.”),在systemd安装后没有删除.
[更新]影响你的是去年12月的a bug that was reported on Ubuntu’s BTS.这是由于/ var / run / nologin文件(= / run / nologin,因为/ var / run是符号链接到/ run)在systemd安装结束时没有删除.
/ etc / nologin是标准的nologin文件. / var / run / nologin是nologin PAM模块(man pam_nologin
)可以使用的备用文件.
请注意,没有任何nologin文件会影响root用户的连接,只会阻止常规用户登录.
原文地址:https://codeday.me/bug/20190810/1638916.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。