我有一台服务器(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 消耗会产生什么影响还是值得怀疑的。