SSH and maxstartups confusion



在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最多打开3个连接,以及最多打开50个连接(所有用户)?

根据手册,您可以简单地使用maxstartups 50,这将等同于您的行,并且更具可读性。

但是继续读下去,你会发现这个限制只适用于

MaxStartups

到SSH守护进程的未认证连接的最大并发数。[…]

选项ClientAliveCountMax的用途与您想象的完全不同。查看手册页:

ClientAliveCountMax

设置客户端活动消息(见下文)的数量,这些消息可以在sshd(8)没有收到客户端返回的任何消息的情况下发送。[…]

它没有指定任何关于并发性的内容。

如果我是对的,没有办法在ssh级别上限制经过身份验证的用户。但是,您可以在应用程序级别使用一些全局.profile bash脚本或ssh中的ForcedCommand选项来实现这一点,这将计算系统上现有的连接,并根据结果,允许或拒绝继续。

最新更新