配置 CentOS SFTP 服務器涉及幾個步驟,包括安裝必要的軟件包、配置 SSH 服務、設置用戶權限和創建 SFTP 用戶目錄。以下是一個詳細的步驟指南:
首先,確保你的 CentOS 系統是最新的,并安裝 OpenSSH 服務器。
sudo yum update -y
sudo yum install openssh-server -y
編輯 SSH 服務的主配置文件 /etc/ssh/sshd_config。
sudo vi /etc/ssh/sshd_config
確保以下配置項已經啟用(刪除或注釋掉前面的 #):
PubkeyAuthentication yes
PasswordAuthentication no
這將禁用密碼認證,只允許公鑰認證。你也可以根據需要調整其他配置項。
為每個需要使用 SFTP 的用戶創建一個目錄,并設置適當的權限。
sudo useradd -m sftpuser1
sudo passwd sftpuser1
設置用戶的密碼:
sudo passwd sftpuser1
創建用戶目錄并設置權限:
sudo mkdir /home/sftpuser1
sudo chown sftpuser1:sftpuser1 /home/sftpuser1
sudo chmod 755 /home/sftpuser1
如果你的 CentOS 系統啟用了 SELinux,可能需要調整相關策略以允許 SFTP 訪問。
sudo setsebool -P sftp_home_dir on
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/home/sftpuser1(/.*)?"
sudo restorecon -Rv /home/sftpuser1
保存并退出配置文件后,重啟 SSH 服務以應用更改。
sudo systemctl restart sshd
你可以使用 sftp 命令測試連接,或者使用文件管理器(如 FileZilla)進行連接。
sftp sftpuser1@your_server_ip
輸入密碼后,你應該能夠成功連接到 SFTP 服務器。
為了簡化上述步驟,你可以創建一個腳本來自動化創建用戶和目錄的過程。
#!/bin/bash
# 添加用戶
useradd -m $1
echo $1:$1 | chpasswd
# 創建用戶目錄
mkdir /home/$1
chown $1:$1 /home/$1
chmod 755 /home/$1
echo "User $1 created with home directory /home/$1"
保存為 create_sftp_user.sh,并賦予執行權限:
chmod +x create_sftp_user.sh
然后運行腳本:
./create_sftp_user.sh sftpuser1
這樣就可以快速添加新的 SFTP 用戶了。
通過以上步驟,你應該能夠成功配置一個 CentOS SFTP 服務器。