在CentOS系统中,您可以通过配置SSH服务来限制访问IP。以下是几种常见的方法:
sshd_config文件编辑sshd_config文件:
打开终端并使用文本编辑器(如vi或nano)编辑/etc/ssh/sshd_config文件。
sudo vi /etc/ssh/sshd_config
添加或修改AllowUsers或DenyUsers指令:
AllowUsers:指定允许登录的用户及其IP地址。DenyUsers:指定拒绝登录的用户及其IP地址。例如,只允许特定IP地址的用户登录:
AllowUsers user1@192.168.1.100 user2@192.168.1.101
或者,拒绝特定IP地址的用户登录:
DenyUsers user3@192.168.1.102 user4@192.168.1.103
保存并退出编辑器:
vi,按Esc键,然后输入:wq并按Enter键。nano,按Ctrl+X键,然后按Y键确认保存,最后按Enter键。重启SSH服务: 使配置生效,需要重启SSH服务。
sudo systemctl restart sshd
添加防火墙规则:
使用iptables命令添加规则,只允许特定IP地址访问SSH端口(默认是22)。
例如,只允许IP地址192.168.1.100访问SSH:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
拒绝所有其他IP地址访问SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
保存防火墙规则:
使用iptables-save和iptables-restore命令保存和恢复规则,或者安装并配置iptables-services包来持久化规则。
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
fail2banfail2ban是一个入侵防御软件框架,可以监控日志文件并根据规则阻止恶意IP地址。
安装fail2ban:
sudo yum install fail2ban
配置fail2ban:
编辑/etc/fail2ban/jail.local文件,添加或修改SSH相关的配置。
sudo vi /etc/fail2ban/jail.local
添加以下内容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
启动并启用fail2ban服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
通过以上方法,您可以有效地限制CentOS系统中SSH服务的访问IP。根据您的需求选择合适的方法进行配置。