2015-10-14 253 views
0

在我已经设置了sshd_condifg以下条目:SSH和maxstartups混乱

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: [email protected] 
(...) 
ps -fe|grep notty|wc -l 
245 

这是为什么发生了什么?如何限制用户使用相同的username和最多50个连接(所有用户)打开最多3个连接?

回答

0

根据手册,您可以使用简单的maxstartups 50,这将相当于您的生产线和更多的可读性。

但进一步阅读,你会看到,该限制只针对

MaxStartups

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

选项ClientAliveCountMax用于完全不同的事情比你想象的。看看进入手动页面:

ClientAliveCountMax

设置客户活消息(见下文),其可以在不sshd的(8)接收的任何消息从客户端回发送的数目。 [...]

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

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