在sshd条件中,我设置了以下条目:
maxstartups 50:100:50
clientalivecountmax 3
maxauthtries 3
但在
ps
结果中,我至少可以看到这样的过程:ps -fe|grep aaa_test
(...)
root 11014 5023 0 Oct13 ? 00:00:00 sshd: aaa_test [priv]
root 11164 11014 0 Oct13 ? 00:00:00 sshd: aaa_test@notty
(...)
ps -fe|grep notty|wc -l
245
为什么会这样?如何限制用户使用相同的
username
和最大的50个连接(所有用户)打开max 3连接? 最佳答案
根据手册,您可以简单地使用maxstartups 50
,这将相当于您的行,而且可读性更高。
但是再进一步看,你会发现这个限制只适用于
最大初创公司
指定到SSH守护进程的并发未经身份验证连接的最大数目。[...]
选项ClientAliveCountMax
用于完全不同的事情。查看手册页:
ClientAliveCountMax
设置在没有sshd(8)从客户端接收任何消息的情况下发送的客户端活动消息(见下文)的数量。[...]
它没有指定任何关于并发性的内容。
如果我是对的,就没有办法在ssh
级别上限制经过身份验证的用户。但是,您可以在SSH中使用一些全局的.profile
BASH脚本或ForcedCommand
选项,这样就可以计算系统上现有的连接,并根据结果,允许或拒绝继续。
关于linux - SSH和maxstartups的困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33128882/