要限制CentOS上的SSH访问IP,您可以使用防火墙(如firewalld)或TCP Wrappers来实现
方法1:使用firewalld限制SSH访问IP
- 首先,确保您已经安装了firewalld。如果没有,请运行以下命令来安装:
sudo yum install firewalld
- 启动firewalld服务并设置为开机启动:
sudo systemctl start firewalld sudo systemctl enable firewalld
- 为SSH创建一个新的firewalld区域(可选):
sudo firewall-cmd --permanent --new-zone=ssh
- 将SSH服务的默认区域更改为新创建的区域(可选):
sudo firewall-cmd --permanent --zone=ssh --change-interface=eth0
将eth0
替换为您的网络接口名称。
- 允许SSH连接:
sudo firewall-cmd --permanent --zone=ssh --add-service=ssh
- 限制访问IP:
sudo firewall-cmd --permanent --zone=ssh --add-rich-rule='rule family="ipv4" source address="192.168.1.1" accept'
将192.168.1.1
替换为您要允许访问的IP地址。
- 重新加载firewalld配置:
sudo firewall-cmd --reload
现在,只有指定的IP地址可以访问您的CentOS服务器上的SSH服务。
方法2:使用TCP Wrappers限制SSH访问IP
- 安装TCP Wrappers(如果尚未安装):
sudo yum install tcp_wrappers
- 编辑
/etc/hosts.deny
文件,拒绝所有IP访问SSH:
sudo vi /etc/hosts.deny
在文件中添加以下行:
sshd: ALL
- 编辑
/etc/hosts.allow
文件,允许特定IP访问SSH:
sudo vi /etc/hosts.allow
在文件中添加以下行:
sshd: 192.168.1.1
将192.168.1.1
替换为您要允许访问的IP地址。
现在,只有指定的IP地址可以访问您的CentOS服务器上的SSH服务。