溫馨提示×

centos如何安全配置sftp

小樊
47
2025-06-10 08:43:07
欄目: 智能運維

在CentOS上安全配置SFTP(SSH File Transfer Protocol)涉及多個步驟,以確保只有授權用戶可以訪問,并且傳輸的數據是加密的。以下是一個詳細的指南:

1. 安裝OpenSSH服務器

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

sudo yum install openssh-server

2. 配置SSH服務器

編輯SSH配置文件 /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

在文件中找到并修改以下配置項:

  • 禁止root登錄

    PermitRootLogin no
    
  • 禁用密碼登錄(推薦使用密鑰認證):

    PasswordAuthentication no
    
  • 啟用公鑰認證

    PubkeyAuthentication yes
    
  • 限制SFTP用戶訪問

    Subsystem sftp internal-sftp
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

3. 創建SFTP用戶組

創建一個新的用戶組來管理SFTP用戶:

sudo groupadd sftpusers

4. 創建SFTP用戶并添加到組

創建一個新的用戶并將其添加到 sftpusers 組:

sudo useradd -m -G sftpusers your_username
sudo passwd your_username

在提示輸入密碼時,設置一個強密碼。

5. 配置Chroot目錄

為了安全起見,你可以將SFTP用戶的根目錄限制在一個特定的目錄中。編輯 /etc/ssh/sshd_config 文件,確保 ChrootDirectory 指向一個有效的目錄,并且該目錄的權限設置正確:

sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username

6. 創建用戶的主目錄

確保用戶的主目錄存在并且權限正確:

sudo mkdir -p /home/your_username/uploads
sudo chown your_username:sftpusers /home/your_username/uploads
sudo chmod 755 /home/your_username/uploads

7. 重啟SSH服務

保存并退出配置文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

8. 測試SFTP連接

使用SFTP客戶端連接到服務器,測試配置是否正確:

sftp your_username@your_server_ip

你應該能夠成功連接,并且只能訪問 /home/your_username/uploads 目錄。

9. 防火墻配置

確保防火墻允許SSH連接:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

10. 定期更新和監控

定期更新系統和OpenSSH軟件包,并監控SSH日志文件 /var/log/secure 以檢測任何可疑活動。

通過以上步驟,你可以安全地配置CentOS上的SFTP服務,確保只有授權用戶可以訪問,并且傳輸的數據是加密的。

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