Linux怎样设置用户的SSH登录限制

2025-05-31 22:31:46 116
魁首哥

近期有些网友想要了解Linux怎样设置用户的SSH登录限制的相关情况,小编通过整理给您分享一下。

在 Linux 系统中,SSH(Secure Shell)是远程管理服务器的重要工具。然而,开放 SSH 服务也带来了潜在的安全风险。为了增强系统的安全性,管理员可以通过设置用户的 SSH 登录限制来减少攻击面。本文将详细介绍如何在 Linux 中实现这一目标,并提供实用的配置方法。


为什么需要设置 SSH 登录限制?

SSH 是黑客常用的攻击目标之一。如果没有适当的限制,攻击者可能会通过暴力破解密码或利用漏洞获得系统访问权限。通过设置 SSH 登录限制,可以有效降低以下风险:

  1. 防止暴力破解:限制登录尝试次数,阻止攻击者反复尝试密码。
  2. 控制访问范围:仅允许特定用户或 IP 地址登录,减少潜在威胁。
  3. 增强审计能力:记录登录行为,便于追踪异常活动。

设置 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. 使用 iptablesfirewalld 限制访问

通过防火墙规则,可以限制 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

最佳实践建议

  1. 使用 SSH 密钥认证:相比密码,密钥认证更安全且不易被破解。
  2. 定期更新 SSH 服务:确保使用最新版本,修复已知漏洞。
  3. 监控登录日志:通过 /var/log/auth.log/var/log/secure 文件检查异常登录行为。
  4. 启用双因素认证:进一步增强身份验证的安全性。

总结

通过合理配置 SSH 登录限制,可以显著提升 Linux 系统的安全性。无论是修改配置文件、使用 fail2ban,还是结合防火墙规则,这些方法都能有效降低攻击风险。建议管理员根据实际需求,选择适合的策略并定期审查安全设置,确保系统始终处于最佳防护状态。

通过本文的指导,您可以在 Linux 系统中轻松实现 SSH 登录限制,为服务器安全保驾护航。

分享
海报
116
上一篇:Linux怎样在命令行下压缩图片 下一篇:Linux如何在终端中使用快捷键复制粘贴

忘记密码?

图形验证码