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

我打算升级具有一些SSH和rsync(通过SSH)用户的服务器。 在此期间,我正在升级服务器,我不希望其他人login到服务器。

有没有办法让我阻止除用户“nisse”之外的所有SSHlogin,并向其他用户打印横幅,通知他们临时块因为升级?

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

在没有回复上述查询的情况下,我将不得不作出一个假设:特别是,您希望继续允许nisse用户login以协助rsync

这是使您的使用情况变得复杂的要求,并且这表示需求不佳。 通常阻止更多用户login的方法是触摸/etc/nologin ; 此外,您放入该文件的任何内容都将被打印为拒绝横幅。 这将通过sshsftprsync -e ssh停止连接。 它不会注销任何当前用户,所以如果您担心在启动rsync之前将nisse抛出,请不要这么做。 rm /etc/nologin一旦你完成了。

如果问题是在禁用之后必须login,那么作为rsync一部分,您正在向后执行rsync 。 login后,创build/etc/nologin ,然后使用rsync从当前服务器推送,而不是从新的服务器拉。

如果还有其他一些关于nisse的例外的商业关键原因,我还没有涉及到,那么当他指出修改你当前的AllowUsers设置几乎是实现粒度的完美方法的时候,要求。 当你在那里的时候,你可以进一步修改你的sshd_config来使用Banner在拒绝之前打印一个横幅,并且可以让nisse忽略它。