我有时会在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。