在CentOS系统中,可以通过配置SSH服务来限制用户访问。以下是一些常见的方法:
sshd_config
文件编辑/etc/ssh/sshd_config
文件,添加或修改以下配置项:
AllowUsers user1 user2 user3
这会限制只有user1
, user2
, 和 user3
可以登录。
AllowUsers user1@192.168.1.100 user2@192.168.1.101
这会限制user1
只能从192.168.1.100
登录,user2
只能从192.168.1.101
登录。
PermitRootLogin no
这会禁止root用户通过SSH登录。
MaxAuthTries 3
这会限制每个用户在一定时间内尝试登录的次数。
PAM可以提供更细粒度的访问控制。编辑/etc/pam.d/sshd
文件,添加以下行:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600
这会限制用户在一定时间内尝试登录的次数,并在达到限制后锁定账户一段时间。
使用firewalld
或iptables
来限制SSH访问。
firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --zone=trusted --add-source=192.168.1.100
firewall-cmd --reload
这会允许来自192.168.1.100
的SSH连接。
iptables
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
这会允许来自192.168.1.100
的SSH连接,并拒绝其他所有IP地址的SSH连接。
如果启用了SELinux,可以通过配置SELinux策略来进一步限制SSH访问。
setsebool -P ssh_sysadm_login on
setsebool -P ssh_keysign on
这会允许系统管理员通过SSH登录,并允许密钥认证。
Fail2Ban可以监控SSH登录日志,并在检测到多次失败尝试后封禁IP地址。
安装Fail2Ban:
yum install fail2ban
配置Fail2Ban:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑/etc/fail2ban/jail.local
文件,添加以下内容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
启动Fail2Ban服务:
systemctl start fail2ban
systemctl enable fail2ban
通过以上方法,你可以有效地限制CentOS系统中的SSH用户访问。根据你的具体需求选择合适的方法进行配置。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何限制CentOS SSH访问IP