centos

CentOS SSH如何设置访问控制

小樊
52
2025-04-14 13:31:25
栏目: 智能运维

在CentOS系统中,可以通过配置SSH服务器的访问控制来增强系统的安全性。以下是一些常见的方法:

1. 修改SSH配置文件

编辑SSH服务器的配置文件 /etc/ssh/sshd_config,进行相应的设置。

sudo vi /etc/ssh/sshd_config

1.1 限制用户登录

可以通过 AllowUsersDenyUsers 指令来限制特定用户登录。

AllowUsers user1 user2
# 或者
DenyUsers user3 user4

1.2 限制IP地址访问

通过 AllowGroupsDenyGroups 指令结合 sshd_group 来限制特定IP地址或IP段访问。

首先,创建一个组并添加允许访问的用户:

sudo groupadd sshd_group
sudo usermod -aG sshd_group user1
sudo usermod -aG sshd_group user2

然后在 sshd_config 中添加:

AllowGroups sshd_group

或者使用 Match 指令来限制特定IP地址:

Match Address 192.168.1.0/24
    AllowUsers user1 user2
Match all
    DenyUsers *

1.3 禁用root登录

编辑 sshd_config 文件,找到并修改以下行:

PermitRootLogin no

2. 使用防火墙限制访问

CentOS 7及以上版本使用 firewalld 作为默认防火墙,可以通过以下命令来限制SSH访问。

2.1 允许特定IP访问SSH端口(默认22)

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload

2.2 禁用SSH端口(不推荐)

如果你需要完全禁用SSH端口,可以使用以下命令:

sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
sudo firewall-cmd --reload

3. 使用Fail2Ban防止暴力破解

Fail2Ban 是一个入侵防御软件框架,可以用来防止暴力破解密码。

3.1 安装Fail2Ban

sudo yum install epel-release
sudo yum install fail2ban

3.2 配置Fail2Ban

编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local,添加以下内容:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600

3.3 启动Fail2Ban服务

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

4. 定期更新系统和SSH服务器

确保系统和SSH服务器软件包是最新的,以防止已知的安全漏洞。

sudo yum update

通过以上步骤,你可以有效地设置CentOS系统的SSH访问控制,提高系统的安全性。

0
看了该问题的人还看了