如果文件存在则断开 ssh 连接

Drop ssh connection if file exists

为了允许使用 ssh-key 登录,我被要求确保当服务器处于维护模式时任何新连接都不会失败。我可以通过检查文件是否存在来确定服务器是否处于维护模式。到目前为止,我已经尝试将以下内容放入我的 .ssh/rc 文件中,但我仍然能够连接。谁有更好的解决方案?

if [ -e $CHECK_FILE ]
then
    echo "Under Maintenance... login disabled"
    kill -9 $$
    #exit -1
fi

创建带有维护消息的 /etc/nologin 以防止通过 ssh 进行任何登录(或者在持续时间内终止 sshd)。

但是,如果维护是通过 ssh完成的,那么您需要允许一些用户登录。在在这种情况下,用

之类的内容更新 /etc/sshd_config
AllowUsers bob

防止 "bob" 以外的任何人登录。

如果你使用 Linux 从 ~/.ssh/rc 杀死你自己的 sshd:

killall sshd