算SSH会话?


8

我有时在auth.log中找到以下消息:

sshd[8888]: error: no more sessions

在sshd_config中,我设置了“ MaxStartups 300”,并且我不应该有那么多客户端同时连接。在繁忙的时候,我想我可以有大约50-60个并发连接,而​​在通过sftp上/下载小文件时,这种连接仅持续几秒钟。

我怀疑某些客户端可能没有按其应有的方式关闭连接,并且由于连接反复出现且频繁(每个客户端每分钟连接几次),所以随着时间的推移,连接总数可能会增加。为了解决这个问题,我希望能够计算SSH会话,但是我想不出任何比使用netstat计数连接更好的方法:

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

因为这将计算连接数而不是会话数,并且我不确定是否存在会话会发生但连接关闭的情况?

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

提前致谢!


是否who对情况有所了解?
克里斯S 2010年

不知道为什么,但是通过sftp的连接似乎没有显示给谁(甚至不是-a)。不得不承认,我已经忘记了谁:)干杯!
Avada Kedavra

Answers:


6

MaxStartups控制与sshd的“并发未经身份验证的连接”的数量,而不是会话本身。(如果违反了限制,它将开始删除较旧的连接)

如果尚未为MaxSessions提供显式值,则默认值为10。(也许这就是您要设置的含义?)

您可以在sshd_config的手册页上找到更多详细信息:http : //www.openbsd.org/cgi-bin/man.cgi? query=sshd_config&sektion =5

我不认为sshd本身可以报告所需类型的统计信息(尽管我也没有做很多研究。)

问候,Sapp3r。


我目前在配置中没有MaxSessions,因此情况可能非常正确。我会检查出来并与您联系。同时+1。干杯!
Avada Kedavra 2010年

显然,OpenSSH 4.7没有MaxSessions标志,如果我在配置中有此服务,它将无法启动服务。但是,OpenSSH 5.3支持此选项。不幸的是,这是一台生产服务器,我不愿意升级SSH软件包。
Avada Kedavra 2010年

虽然答案并未真正回答问题,但可能会解决问题,因此请不要接受此答案。我正在升级安装程序,因此不确定是否可以防止auth.log中的错误,但是希望如此。干杯
阿瓦达索命

6

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

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

引入MaxSessions设置后,似乎#defineMAX_SESSIONS5.1之前的版本中是在编译时使用的:http : //www.openssh.com/txt/release-5.1

至少在RHEL5上,MAX_SESSIONS似乎已增加到20。


tmux会创建多路复用的连接吗?
MikeyE
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.