近期有些网友想要了解Linux怎样设置用户的SSH登录限制的相关情况,小编通过整理给您分享一下。
在 Linux 系统中,SSH(Secure Shell)是远程管理服务器的重要工具。然而,开放 SSH 服务也带来了潜在的安全风险。为了增强系统的安全性,管理员可以通过设置用户的 SSH 登录限制来减少攻击面。本文将详细介绍如何在 Linux 中实现这一目标,并提供实用的配置方法。
为什么需要设置 SSH 登录限制?

SSH 是黑客常用的攻击目标之一。如果没有适当的限制,攻击者可能会通过暴力破解密码或利用漏洞获得系统访问权限。通过设置 SSH 登录限制,可以有效降低以下风险:
- 防止暴力破解:限制登录尝试次数,阻止攻击者反复尝试密码。
- 控制访问范围:仅允许特定用户或 IP 地址登录,减少潜在威胁。
- 增强审计能力:记录登录行为,便于追踪异常活动。
设置 SSH 登录限制的常用方法
1. 修改 SSH 配置文件 /etc/ssh/sshd_config
SSH 的配置文件是控制登录行为的核心。通过编辑 /etc/ssh/sshd_config
文件,可以实现多种限制。
限制登录用户
在配置文件中添加或修改以下行,仅允许指定用户登录:
AllowUsers user1 user2
限制登录 IP
仅允许特定 IP 地址的用户登录:
AllowUsers user1@192.168.1.100 user2@192.168.1.200
禁用 root 登录
禁止 root 用户通过 SSH 登录,降低权限提升风险:
PermitRootLogin no
限制登录尝试次数
通过 MaxAuthTries
参数限制密码尝试次数:
MaxAuthTries 3
修改完成后,重启 SSH 服务使配置生效:
sudo systemctl restart sshd
2. 使用 fail2ban
防止暴力破解
fail2ban
是一款强大的工具,可以自动封禁多次登录失败的 IP 地址。
安装 fail2ban
在 Debian/Ubuntu 系统上:
sudo apt install fail2ban
在 CentOS/RHEL 系统上:
sudo yum install fail2ban
配置 fail2ban
编辑 /etc/fail2ban/jail.local
文件,添加以下内容:
[sshd]enabled = truemaxretry = 3bantime = 3600
maxretry
:允许的失败次数。bantime
:封禁时间(秒)。
启动并启用 fail2ban 服务:
sudo systemctl start fail2bansudo systemctl enable fail2ban
3. 使用 PAM 模块限制登录
PAM(Pluggable Authentication Modules)是 Linux 中用于身份验证的框架。通过配置 PAM,可以进一步限制 SSH 登录。
限制登录时间
编辑 /etc/security/time.conf
文件,添加以下内容:
sshd;*;*;!Wk1800-0600
上述配置表示禁止用户在非工作时间(18:00 至次日 6:00)登录。
限制并发会话
编辑 /etc/security/limits.conf
文件,限制用户的并发会话数:
user1 hard maxlogins 2
4. 使用 iptables
或 firewalld
限制访问
通过防火墙规则,可以限制 SSH 服务的访问范围。
使用 iptables
仅允许特定 IP 访问 SSH 端口(默认 22):
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 22 -j DROP
使用 firewalld
在 CentOS/RHEL 系统上:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'sudo firewall-cmd --reload
最佳实践建议
- 使用 SSH 密钥认证:相比密码,密钥认证更安全且不易被破解。
- 定期更新 SSH 服务:确保使用最新版本,修复已知漏洞。
- 监控登录日志:通过
/var/log/auth.log
或/var/log/secure
文件检查异常登录行为。 - 启用双因素认证:进一步增强身份验证的安全性。
总结
通过合理配置 SSH 登录限制,可以显著提升 Linux 系统的安全性。无论是修改配置文件、使用 fail2ban,还是结合防火墙规则,这些方法都能有效降低攻击风险。建议管理员根据实际需求,选择适合的策略并定期审查安全设置,确保系统始终处于最佳防护状态。
通过本文的指导,您可以在 Linux 系统中轻松实现 SSH 登录限制,为服务器安全保驾护航。