在 CentOS 系统中,ulimit
命令用于设置或查看用户进程的资源限制。如果你想要限制通过 SSH 连接的用户数量,可以通过修改 /etc/security/limits.conf
文件来实现。
以下是如何使用 ulimit
和 limits.conf
来限制 SSH 连接数的步骤:
编辑 /etc/security/limits.conf
文件:
使用你喜欢的文本编辑器打开 /etc/security/limits.conf
文件。例如,使用 vi
编辑器:
sudo vi /etc/security/limits.conf
添加限制规则:
在文件中添加以下行来限制特定用户的 SSH 连接数。例如,如果你想限制用户 username
的并发 SSH 连接数为 2,可以添加:
username hard maxlogins 2
这里的 hard
表示硬限制,maxlogins
是限制的类型,2
是允许的最大连接数。
保存并退出:
保存文件并退出编辑器。
重新加载 PAM 配置:
为了让更改生效,你需要重新加载 PAM(Pluggable Authentication Modules)配置。你可以通过重启 SSH 服务来实现:
sudo systemctl restart sshd
或者,如果你不想重启整个 SSH 服务,可以只重新加载 PAM 配置:
sudo pam-auth-update --force
验证限制:
你可以通过尝试以 username
用户身份进行多次 SSH 连接来验证限制是否生效。如果连接数超过设置的限制,SSH 连接将会被拒绝。
请注意,这种方法只能限制单个用户的并发 SSH 连接数。如果你需要更复杂的限制策略(例如,基于 IP 地址的限制),可能需要使用其他工具或方法,如 fail2ban
或自定义的 PAM 模块。