溫馨提示×

centos下如何限制sftp訪問

小樊
35
2025-07-08 16:07:59
欄目: 智能運維

在CentOS下限制SFTP訪問可以通過配置SSH服務器來實現。以下是一些常見的方法:

方法一:使用Chroot Jail

Chroot Jail可以將用戶的根目錄限制在一個特定的目錄中,從而限制用戶只能訪問該目錄及其子目錄。

  1. 安裝必要的軟件包

    sudo yum install openssh-server
    
  2. 編輯SSH配置文件: 打開/etc/ssh/sshd_config文件:

    sudo vi /etc/ssh/sshd_config
    
  3. 配置Chroot Jail: 找到或添加以下配置:

    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  4. 創建SFTP用戶組: 創建一個新的用戶組sftpusers

    sudo groupadd sftpusers
    
  5. 添加用戶到SFTP用戶組: 將需要限制訪問的用戶添加到sftpusers組:

    sudo usermod -aG sftpusers username
    
  6. 設置用戶目錄權限: 確保用戶的家目錄及其父目錄的權限設置正確:

    sudo chown root:root /home/username
    sudo chmod 755 /home/username
    
  7. 創建用戶的chroot目錄: 在用戶的家目錄下創建一個uploads目錄,并設置權限:

    sudo mkdir /home/username/uploads
    sudo chown username:sftpusers /home/username/uploads
    sudo chmod 755 /home/username/uploads
    
  8. 重啟SSH服務

    sudo systemctl restart sshd
    

方法二:使用DenyUsers和AllowUsers

如果你不想使用Chroot Jail,可以通過配置DenyUsersAllowUsers來限制特定用戶的SFTP訪問。

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

    sudo vi /etc/ssh/sshd_config
    
  2. 配置DenyUsers和AllowUsers: 找到或添加以下配置:

    DenyUsers user1 user2
    AllowUsers user3 user4
    
  3. 重啟SSH服務

    sudo systemctl restart sshd
    

方法三:使用Match User

你也可以使用Match User來為特定用戶配置SFTP訪問限制。

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

    sudo vi /etc/ssh/sshd_config
    
  2. 配置Match User: 找到或添加以下配置:

    Match User username
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  3. 重啟SSH服務

    sudo systemctl restart sshd
    

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

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