在sshd_condifg中,我设置了以下条目:
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个连接(所有用户)打开最多3个连接?
答案 0 :(得分:0)
根据手册,你可以简单地使用maxstartups 50
,这对你的系列来说是相同的,而且更具可读性。
但进一步阅读,您会看到此限制仅适用于
MaxStartups
指定SSH守护程序的最大并发未经身份验证的连接的最大数量。 [...]
选项ClientAliveCountMax
用于完全不同于您的想法。看一下手册页:
ClientAliveCountMax
设置客户端活动消息的数量(见下文),可以在没有sshd(8)从客户端接收任何消息的情况下发送。 [...]
它没有指定有关并发的任何内容。
如果我是对的,则无法限制ssh
级别的经过身份验证的用户。但是你可以在ssh中使用一些全局.profile
bash脚本或ForcedCommand
选项在应用程序级别上执行此操作,该选项将计算系统上的现有连接并根据结果,允许或拒绝继续。< / p>