在CentOS上配置SFTP服務通常涉及以下幾個步驟:
安裝OpenSSH服務器: 首先,確保你的CentOS系統上安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
啟動并啟用SSH服務: 安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
配置SSH服務:
編輯SSH配置文件 /etc/ssh/sshd_config 來啟用SFTP并對其進行配置:
sudo vi /etc/ssh/sshd_config
在文件中找到以下行并進行相應的修改:
確保以下行沒有被注釋掉(刪除行首的 #):
Subsystem sftp /usr/libexec/openssh/sftp-server
如果你想限制用戶只能使用SFTP而不能使用SSH shell,可以添加或修改以下行:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這里,sftpusers 是一個用戶組,你需要在下一步創建它。
創建SFTP用戶組并添加用戶:
創建一個新的用戶組 sftpusers 并將需要使用SFTP的用戶添加到這個組中:
sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
將 your_username 替換為你想要添加的用戶名。
設置用戶目錄權限: 對于使用Chroot jail的用戶,你需要設置其主目錄的權限,以確保安全性:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
創建一個用于存放用戶文件的子目錄,并設置正確的權限:
sudo mkdir /home/your_username/uploads
sudo chown your_username:sftpusers /home/your_username/uploads
重啟SSH服務: 保存所有更改后,重啟SSH服務以應用新的配置:
sudo systemctl restart sshd
測試SFTP連接: 使用SFTP客戶端(如FileZilla或其他支持SFTP的FTP客戶端)連接到你的服務器,使用新創建的用戶名和密碼進行登錄。確保你可以成功連接并訪問指定的用戶目錄。
請注意,這些步驟提供了一個基本的SFTP配置。根據你的具體需求,你可能需要調整防火墻設置以允許SFTP連接(默認端口是22),或者進行其他安全相關的配置。