限制 SSH 最大连接数

限制 SSH 最大连接数

我有一台服务器(ubuntu 20.04),需要限制最大 ssh 活动会话数(以降低 CPU 使用率),我添加了这个

myuser   hard   maxlogins   1 

/etc/security/limits.conf

但它不起作用!我该如何限制它?

谢谢。

答案1

深受启发本文

/etc/ssh/sshd_config在任何文本编辑器中打开该文件:

sudo nano /etc/ssh/sshd_config

找到该MaxStartups选项并将值设置为允许的最大同时连接数:

MaxStartups 1

来自手册页:

最大创业公司
指定与 SSH 守护程序的最大并发未经身份验证的连接数。额外的连接将被丢弃,直到身份验证成功或连接的 LoginGraceTime 到期。默认值为 10。

或者,可以通过指定三个冒号分隔的值“start:rate:full”(例如“10:30:60”)来启用随机早期丢弃。如果当前有“start”(10)个未经身份验证的连接,sshd(8) 将以“rate/100”(30%)的概率拒绝连接尝试。如果未经身份验证的连接数量达到“full”(60),则概率会线性增加,并且所有连接尝试都将被拒绝。

找到该MaxSessions选项并将值设置为允许的最大同时会话数:

MaxSessions 1

来自手册页:

最大会话数
指定每个网络连接允许的最大打开会话数。默认值为 10。

重新启动ssh服务(或其别名sshd):

sudo systemctl restart ssh

这将允许一次连接尝试以及一次活动会话。

然而如上所述,这对 CPU 消耗会产生什么影响还是值得怀疑的。

相关内容