温馨提示×

CentOS SFTP如何限制IP访问

小樊
48
2026-01-06 02:15:41
栏目: 智能运维

在CentOS系统中,您可以通过配置SSH服务来限制SFTP访问的IP地址。以下是具体的步骤:

方法一:使用sshd_config文件

  1. 编辑SSH配置文件: 打开/etc/ssh/sshd_config文件进行编辑。

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改以下配置: 在文件中找到或添加以下内容,以限制特定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
    
  3. 保存并退出编辑器: 按Esc键,然后输入:wq保存并退出。

  4. 重启SSH服务: 使配置生效,需要重启SSH服务。

    sudo systemctl restart sshd
    

方法二:使用防火墙(iptables)

如果您希望通过防火墙来限制IP访问,可以使用iptables命令。

  1. 允许特定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
    
  2. 拒绝所有其他IP访问SSH端口

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
  3. 保存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,您还可以通过SELinux策略来进一步限制SFTP访问。

  1. 编辑SELinux策略文件: 打开/etc/selinux/config文件进行编辑。

    sudo vi /etc/selinux/config
    
  2. 设置SELinux模式为强制模式(如果尚未设置为强制模式):

    SELINUX=enforcing
    
  3. 重启系统: 使SELinux配置生效,需要重启系统。

    sudo reboot
    

通过以上方法,您可以有效地限制CentOS系统中SFTP服务的IP访问。选择适合您需求的方法进行配置即可。

0