溫馨提示×

CentOS下如何限制SFTP訪問IP

小樊
51
2025-03-09 14:04:41
欄目: 智能運維

在CentOS系統中,您可以通過配置SSH服務器來限制SFTP訪問的IP地址。以下是具體步驟:

方法一:使用sshd_config文件

  1. 編輯SSH配置文件 打開SSH配置文件 /etc/ssh/sshd_config

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改Match 在文件中找到或添加一個Match塊來指定允許訪問的IP地址。例如:

    Match Address 192.168.1.100,192.168.1.101
        ForceCommand internal-sftp
        PasswordAuthentication yes
        ChrootDirectory /home/%u
        AllowTcpForwarding no
        X11Forwarding no
    

    這個配置表示只有IP地址為192.168.1.100192.168.1.101的用戶可以訪問SFTP,并且強制使用內部SFTP命令,禁止TCP和X11轉發。

  3. 重啟SSH服務 保存并退出編輯器后,重啟SSH服務以應用更改:

    sudo systemctl restart sshd
    

方法二:使用防火墻規則

您也可以通過配置防火墻(如firewalld)來限制SFTP訪問的IP地址。

  1. 安裝firewalld(如果尚未安裝)

    sudo yum install firewalld
    
  2. 啟動并啟用firewalld

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  3. 添加允許訪問的IP地址 使用firewall-cmd命令添加允許訪問SFTP的IP地址:

    sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.100
    sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.101
    
  4. 重新加載防火墻規則

    sudo firewall-cmd --reload
    

方法三:使用SELinux策略(可選)

如果您的系統啟用了SELinux,您還可以通過SELinux策略來進一步限制SFTP訪問。

  1. 安裝SELinux管理工具

    sudo yum install policycoreutils-python
    
  2. 創建自定義SELinux策略模塊 編輯或創建一個自定義SELinux策略模塊文件,例如/etc/selinux/targeted/contexts/files/file_contexts.local

    sudo vi /etc/selinux/targeted/contexts/files/file_contexts.local
    

    添加以下內容:

    /home/.ssh(/.*)? --> ssh_home_t:s0
    
  3. 重新加載SELinux策略

    sudo restorecon -Rv /home/.ssh
    

通過以上方法,您可以有效地限制CentOS系統中SFTP訪問的IP地址。選擇適合您需求的方法進行配置即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女