SSH和maxstartups混淆

时间:2015-10-14 15:00:18

标签: linux unix ssh openssh sshd

在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个连接?

1 个答案:

答案 0 :(得分:0)

根据手册,你可以简单地使用maxstartups 50,这对你的系列来说是相同的,而且更具可读性。

但进一步阅读,您会看到此限制仅适用于

  

MaxStartups

     

指定SSH守护程序的最大并发未经身份验证的连接的最大数量。 [...]

选项ClientAliveCountMax用于完全不同于您的想法。看一下手册页:

  

ClientAliveCountMax

     

设置客户端活动消息的数量(见下文),可以在没有sshd(8)从客户端接收任何消息的情况下发送。 [...]

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

如果我是对的,则无法限制ssh级别的经过身份验证的用户。但是你可以在ssh中使用一些全局.profile bash脚本或ForcedCommand选项在应用程序级别上执行此操作,该选项将计算系统上的现有连接并根据结果,允许或拒绝继续。< / p>