1. 更新系統
首先,確保系統軟件包為最新版本,避免兼容性問題:
sudo yum update -y
2. 安裝OpenSSH服務器
SFTP依賴OpenSSH服務,通過以下命令安裝:
sudo yum install openssh-server -y
3. 啟動并啟用SSH服務
安裝完成后,啟動SSH服務并設置為開機自啟,確保系統重啟后服務仍運行:
sudo systemctl start sshd
sudo systemctl enable sshd
4. 配置SSH以啟用SFTP
編輯SSH主配置文件,啟用SFTP子系統并限制用戶訪問:
sudo vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
注:
%h表示用戶家目錄,internal-sftp為內置SFTP服務,無需額外安裝。
5. 創建SFTP用戶組及用戶
sudo groupadd sftpusers
mysftp為例,設置家目錄并禁用Shell登錄):sudo useradd -m -G sftpusers -s /bin/false mysftp
sudo passwd mysftp
6. 設置用戶根目錄權限
SFTP用戶的根目錄必須歸root所有,且權限為755(防止用戶越權修改目錄結構):
sudo chown root:root /home/mysftp
sudo chmod 755 /home/mysftp
sudo mkdir /home/mysftp/files
sudo chown mysftp:sftpusers /home/mysftp/files
7. 配置防火墻(若啟用)
允許SSH(默認端口22)通過防火墻,確保外部客戶端可連接:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
8. 重啟SSH服務應用配置
使上述配置生效,重啟SSH服務:
sudo systemctl restart sshd
9. 測試SFTP連接
使用SFTP客戶端(如命令行或FileZilla)驗證連接:
sftp mysftp@your_server_ip
輸入密碼后,若成功登錄并顯示用戶根目錄(如/home/mysftp),則說明配置成功。