计算SSH会话?

我有时会在auth.log中find以下消息:

sshd[8888]: error: no more sessions 

在sshd_config中,我设置了“MaxStartups 300”,我不应该有几乎同时连接的客户端。 在繁忙的时候,我想我可以有大约50-60个并发连接,只需要几秒钟就可以通过sftp上传/下载一个小文件。

我怀疑有些客户可能不会按照他们的要求closures连接,而且由于连接频繁(每个客户端每分钟连接几次)连续发生,可能会随着时间的推移而累加。 为了解决这个问题,我希望能够计算SSH会话,但我不能想到比使用netstat计数连接更好的方法:

 netstat -an | grep 123.456.789.abc:22 | wc -l 

因为这会计算连接,而不是会话,我不确定是否有会议将生活的情况下,但连接是封闭的?

有没有更好的方法来计算当前连接,甚至更好地打印所有会话的当前状态?

提前致谢!

MaxStartupspipe理sshd的“并发的未经身份validation的连接”的数量,而不是像这样的会话。 (如果违反限制,则开始丢弃较旧的连接)

如果你还没有为MaxSessions提供一个明确的值,它将默认为10(也许这就是你的意思是你设置的?

你可以看到sshd_config的手册页更多细节: http : //www.openbsd.org/cgi-bin/man.cgi? query=sshd_config&sektion =5

我没有看到sshd本身有一个报告你正在询问的types统计信息的工具(尽pipe我也没有太多的研究)。

问候,Sapp3r。

[我意识到这是一个非常古老的问题,但我将这个添加到后代。]

“不再有会话”消息适用于多路复用连接,而不是单独的连接。

它似乎是在编译时使用MAX_SESSIONS编译时的5.1版本,当MaxSessions设置被引入时: http : //www.openssh.com/txt/release-5.1

至less在RHEL5上, MAX_SESSIONS似乎已经增加到了20。