溫馨提示×

如何設置 CentOS SFTP 訪問控制列表

小樊
98
2025-02-08 14:02:08
欄目: 智能運維

在 CentOS 上設置 SFTP 訪問控制列表 (ACL) 可以通過以下步驟完成:

  1. 安裝 OpenSSH 服務器: 確保你的 CentOS 系統上已經安裝了 OpenSSH 服務器。如果沒有安裝,可以使用以下命令進行安裝:

    sudo yum install openssh-server
    
  2. 創建用戶和組: 創建一個用于 SFTP 訪問的用戶和一個用于管理 ACL 的組。例如:

    sudo groupadd sftpusers
    sudo useradd -m -G sftpusers -s /usr/sbin/nologin -d /home/sftpuser sftpuser
    sudo passwd sftpuser
    
  3. 設置密碼: 為新創建的用戶設置密碼:

    sudo passwd sftpuser
    
  4. 編輯 SSH 配置文件: 打開 /etc/ssh/sshd_config 文件并進行以下修改:

    sudo nano /etc/ssh/sshd_config
    

    找到并修改以下配置項:

    PubkeyAuthentication yes
    PasswordAuthentication no
    AllowUsers sftpuser
    

    這將允許 sftpuser 通過公鑰認證登錄,并禁止密碼認證。

  5. 創建 ACL 文件: 在用戶的主目錄下創建一個 .ssh/authorized_keys 文件,并添加用戶的公鑰。例如:

    sudo mkdir -p /home/sftpuser/.ssh
    sudo touch /home/sftpuser/.ssh/authorized_keys
    sudo chmod 600 /home/sftpuser/.ssh/authorized_keys
    sudo chown sftpuser:sftpusers /home/sftpuser/.ssh
    sudo chown 700 /home/sftpuser/.ssh
    

    將用戶的公鑰添加到 authorized_keys 文件中:

    cat ~/.ssh/id_rsa.pub | ssh sftpuser@your_server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    
  6. 設置目錄權限: 設置用戶主目錄和 .ssh 目錄的權限:

    sudo chmod 755 /home/sftpuser
    sudo chmod 700 /home/sftpuser/.ssh
    sudo chmod 600 /home/sftpuser/.ssh/authorized_keys
    
  7. 重啟 SSH 服務: 重啟 SSH 服務以應用更改:

    sudo systemctl restart sshd
    
  8. 測試 SFTP 訪問: 使用 sftp 命令測試用戶是否可以成功登錄:

    sftp sftpuser@your_server
    

通過以上步驟,你已經成功設置了 CentOS 上的 SFTP 訪問控制列表。

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