在CentOS上配置SFTP服務通常涉及以下幾個步驟:
安裝OpenSSH服務器: 確保你的系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
啟動并啟用SSH服務: 安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
配置SSH以允許SFTP:
編輯SSH配置文件 /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
在文件中找到或添加以下行:
Subsystem sftp /usr/libexec/openssh/sftp-server
確保這一行沒有被注釋掉(沒有#號)。
配置SFTP用戶限制:
如果你想限制某些用戶只能使用SFTP,可以在 /etc/ssh/sshd_config
中添加或修改以下配置:
Match User sftpuser
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
例如,如果你想限制用戶 sftpuser
只能使用SFTP,可以這樣配置。
創建SFTP用戶目錄: 為SFTP用戶創建一個家目錄,并設置適當的權限:
sudo useradd -m sftpuser
sudo passwd sftpuser
確保家目錄的權限設置正確,以便用戶只能訪問自己的目錄:
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
設置Chroot目錄:
如果你使用了 chrootDirectory
,需要確保chroot目錄及其所有父目錄的所有者和權限設置正確:
sudo mkdir /home/sftpuser/uploads
sudo chown sftpuser:sftpuser /home/sftpuser/uploads
sudo chmod 755 /home/sftpuser/uploads
重啟SSH服務: 使配置生效,重啟SSH服務:
sudo systemctl restart sshd
測試SFTP連接: 使用SFTP客戶端連接到服務器,測試配置是否成功:
sftp sftpuser@your_server_ip
將 sftpuser
替換為你的用戶名,your_server_ip
替換為你的服務器IP地址。