我计划升级一台拥有一些 SSH 和 rsync(通过 ssh)用户的服务器。在升级服务器期间,我不希望任何其他人登录该服务器。
有没有办法让我阻止除用户“nisse”之外的所有 SSH 登录,并向其他用户打印横幅,通知他们由于升级而暂时阻止?
我的第一个计划是更改默认横幅,然后从“AllowUsers”中删除用户,但我在想是否有更好的方法?
答案1
在没有对上述查询做出任何答复的情况下,我不得不做出一个假设:具体来说,您希望继续允许用户nisse
登录以协助rsync
。
这是使您的使用案例复杂化的需求,并且表明需求很差。阻止其他用户登录的常用方法是触摸/etc/nologin
;此外,您放入该文件的任何内容都将被打印为拒绝横幅。这将停止通过、和的连接ssh
。sftp
它rsync -e ssh
不会注销任何当前用户,因此如果您担心在启动之前 nisse 会被抛弃rsync
,请不要担心。 rm /etc/nologin
完成后。
如果问题是nisse
必须在禁令生效后登录,作为 的一部分rsync
,则您正在反向操作rsync
。登录,创建/etc/nologin
,然后使用rsync
从当前服务器推送,而不是从新服务器拉取。
如果 的异常还有其他nisse
我未涉及的业务关键原因,那么 andol 在上面指出的修改当前AllowUsers
设置几乎是实现所需粒度的完美方式,这是对的。此时,您可以进一步修改sshd_config
用于Banner
在拒绝前打印横幅的设置,并被nisse
告知忽略它。