在CentOS系统中,您可以通过配置SSH服务来限制SFTP访问的IP地址。以下是具体的步骤:
sshd_config文件编辑SSH配置文件:
打开/etc/ssh/sshd_config文件进行编辑。
sudo vi /etc/ssh/sshd_config
添加或修改以下配置: 在文件中找到或添加以下内容,以限制特定IP地址的访问:
# 限制允许访问的IP地址列表
AllowUsers your_username@192.168.1.100 your_username@192.168.1.101
或者使用Match块来更灵活地配置:
Match Address 192.168.1.100,192.168.1.101
AllowUsers your_username
保存并退出编辑器:
按Esc键,然后输入:wq保存并退出。
重启SSH服务: 使配置生效,需要重启SSH服务。
sudo systemctl restart sshd
如果您希望通过防火墙来限制IP访问,可以使用iptables命令。
允许特定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 -s 192.168.1.101 -j ACCEPT
拒绝所有其他IP访问SSH端口:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
保存iptables规则:
CentOS 7及以上版本使用firewalld,您可以使用以下命令保存规则:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
如果您的系统启用了SELinux,您还可以通过SELinux策略来进一步限制SFTP访问。
编辑SELinux策略文件:
打开/etc/selinux/config文件进行编辑。
sudo vi /etc/selinux/config
设置SELinux模式为强制模式(如果尚未设置为强制模式):
SELINUX=enforcing
重启系统: 使SELinux配置生效,需要重启系统。
sudo reboot
通过以上方法,您可以有效地限制CentOS系统中SFTP服务的IP访问。选择适合您需求的方法进行配置即可。