暂时禁用除一个用户之外的所有用户的 SSH,并打印横幅

暂时禁用除一个用户之外的所有用户的 SSH,并打印横幅

我计划升级一台拥有一些 SSH 和 rsync(通过 ssh)用户的服务器。在升级服务器期间,我不希望任何其他人登录该服务器。

有没有办法让我阻止除用户“nisse”之外的所有 SSH 登录,并向其他用户打印横幅,通知他们由于升级而暂时阻止?

我的第一个计划是更改默认横幅,然后从“AllowUsers”中删除用户,但我在想是否有更好的方法?

答案1

在没有对上述查询做出任何答复的情况下,我不得不做出一个假设:具体来说,您希望继续允许用户nisse登录以协助rsync

这是使您的使用案例复杂化的需求,并且表明需求很差。阻止其他用户登录的常用方法是触摸/etc/nologin;此外,您放入该文件的任何内容都将被打印为拒绝横幅。这将停止通过、和的连接sshsftprsync -e ssh不会注销任何当前用户,因此如果您担心在启动之前 nisse 会被抛弃rsync,请不要担心。 rm /etc/nologin完成后。

如果问题是nisse必须在禁令生效后登录,作为 的一部分rsync,则您正在反向操作rsync。登录,创建/etc/nologin,然后使用rsync从当前服务器推送,而不是从新服务器拉取。

如果 的异常还有其他nisse我未涉及的业务关键原因,那么 andol 在上面指出的修改当前AllowUsers设置几乎是实现所需粒度的完美方式,这是对的。此时,您可以进一步修改sshd_config用于Banner在拒绝前打印横幅的设置,并被nisse告知忽略它。

相关内容