在 Linux 系统中,SSH(Secure Shell)是远程管理服务器的重要工具。然而,开放 SSH 服务也带来了潜在的安全风险。为了增强系统的安全性,管理员可以通过设置用户的 SSH 登录限制来减少攻击面。本文将详细介绍如何在 Linux 中实现这一目标,并提供实用的配置方法。
SSH 是黑客常用的攻击目标之一。如果没有适当的限制,攻击者可能会通过暴力破解密码或利用漏洞获得系统访问权限。通过设置 SSH 登录限制,可以有效降低以下风险:
/etc/ssh/sshd_config
SSH 的配置文件是控制登录行为的核心。通过编辑 /etc/ssh/sshd_config
文件,可以实现多种限制。
在配置文件中添加或修改以下行,仅允许指定用户登录:
AllowUsers user1 user2
仅允许特定 IP 地址的用户登录:
AllowUsers user1@192.168.1.100 user2@192.168.1.200
禁止 root 用户通过 SSH 登录,降低权限提升风险:
PermitRootLogin no
通过 MaxAuthTries
参数限制密码尝试次数:
MaxAuthTries 3
修改完成后,重启 SSH 服务使配置生效:
sudo systemctl restart sshd
fail2ban
防止暴力破解fail2ban
是一款强大的工具,可以自动封禁多次登录失败的 IP 地址。
在 Debian/Ubuntu 系统上:
sudo apt install fail2ban
在 CentOS/RHEL 系统上:
sudo yum install fail2ban
编辑 /etc/fail2ban/jail.local
文件,添加以下内容:
[sshd]
enabled = true
maxretry = 3
bantime = 3600
maxretry
:允许的失败次数。bantime
:封禁时间(秒)。启动并启用 fail2ban 服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
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
iptables
或 firewalld
限制访问通过防火墙规则,可以限制 SSH 服务的访问范围。
仅允许特定 IP 访问 SSH 端口(默认 22):
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
在 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
/var/log/auth.log
或 /var/log/secure
文件检查异常登录行为。通过合理配置 SSH 登录限制,可以显著提升 Linux 系统的安全性。无论是修改配置文件、使用 fail2ban,还是结合防火墙规则,这些方法都能有效降低攻击风险。建议管理员根据实际需求,选择适合的策略并定期审查安全设置,确保系统始终处于最佳防护状态。
通过本文的指导,您可以在 Linux 系统中轻松实现 SSH 登录限制,为服务器安全保驾护航。
# Ubuntu 22.04 部署1Panel全攻略:从命令行到Web界面的完整指南## 1Panel简介与准备工作1Panel是一款现代化的开源服务器管理面板,专为Linux系统设计,提供了...
# 宝塔用户迁移1Panel全攻略:数据备份与配置迁移一步到位## 为什么越来越多的用户选择从宝塔迁移到1Panel?近年来,服务器管理面板市场出现了新的变化,1Panel作为一款现代化、轻量...
# Docker环境下部署1Panel:镜像加速与容器管理技巧## 为什么选择1Panel+Docker组合在当今云原生技术快速发展的背景下,Docker已成为应用部署的标准工具之一。而1Pa...
# 阿里云ECS快速搭建1Panel:安全组与端口配置详解## 为什么选择1Panel搭建在阿里云ECS上1Panel是一款现代化的Linux服务器运维管理面板,相比传统面板更加轻量、安全。在...
# Debian 11安装1Panel遇到权限问题?这5步帮你轻松解决## 问题背景:为什么会出现权限问题?很多用户在Debian 11系统上安装1Panel面板时,经常会遇到各种权限相关的报...
# 新手必看!1Panel在CentOS 8上的一键安装指南## 1Panel是什么?为什么选择它?1Panel是一款现代化的开源Linux服务器运维管理面板,专为开发者和运维人员设计。相比传...
# 1Panel容器版与传统安装方式对比:哪种更适合你?## 容器化技术带来的安装革命在服务器管理领域,1Panel作为一款新兴的Linux服务器运维管理面板,提供了两种主要安装方式:容器版和...
# 1Panel安装失败?常见错误代码及解决方案全解析## 为什么1Panel安装会失败?1Panel作为一款现代化的服务器管理面板,凭借其简洁高效的特性赢得了不少用户的青睐。但在实际安装过程...
# 飞牛OS用户必看!1Panel无法访问的终极解决方案## 问题现象:1Panel突然无法连接最近不少飞牛OS用户反馈,原本运行良好的1Panel面板突然无法访问了。当你尝试通过浏览器打开1...
# 1Panel安装后忘记安全入口?1pctl user-info命令详解## 1Panel安全入口遗忘的常见情况很多用户在安装1Panel面板后,由于各种原因可能会忘记最初设置的安全入口路径...