在CentOS上搭建SFTP服務器可以通過多種方式實現,其中最常見的是使用OpenSSH。以下是一個詳細的步驟指南:
首先,確保你的CentOS系統已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
安裝完成后,啟動SSH服務并設置開機自啟動:
sudo systemctl start sshd
sudo systemctl enable sshd
默認情況下,OpenSSH服務器已經配置為允許SFTP。你可以通過編輯/etc/ssh/sshd_config
文件來進行進一步的配置。
打開sshd_config
文件:
sudo vi /etc/ssh/sshd_config
找到并確保以下行沒有被注釋掉(即沒有以#
開頭):
Subsystem sftp /usr/libexec/openssh/sftp-server
如果你希望限制用戶只能使用SFTP而不能使用SSH,可以添加或修改以下行:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
為了更好地管理SFTP用戶,你可以創建一個專門的用戶組:
sudo groupadd sftpusers
創建一個新用戶并將其添加到sftpusers
組:
sudo useradd -m -G sftpusers your_username
sudo passwd your_username
在提示輸入密碼時,按照提示輸入并確認密碼。
為了確保SFTP用戶只能訪問其主目錄,需要設置正確的權限:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
完成所有配置后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
現在,你可以使用SFTP客戶端連接到你的服務器。例如,使用命令行SFTP客戶端:
sftp your_username@your_server_ip
輸入密碼后,你應該能夠成功連接到服務器并進行文件傳輸。
如果你的服務器啟用了防火墻,確保允許SSH(默認端口22)流量:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
通過以上步驟,你就可以在CentOS上成功搭建一個SFTP服務器。