在Linux中配置SFTP(SSH File Transfer Protocol)通常涉及以下幾個步驟:
首先,確保你的Linux系統上已經安裝了SSH服務器。大多數Linux發行版默認已經安裝了OpenSSH服務器。
sudo apt-get update
sudo apt-get install openssh-server # Debian/Ubuntu
sudo yum install openssh-server # CentOS/RHEL
編輯SSH服務器的配置文件 /etc/ssh/sshd_config
。
sudo nano /etc/ssh/sshd_config
在文件中找到并修改以下行:
# 默認情況下,SFTP子系統是啟用的
Subsystem sftp /usr/lib/openssh/sftp-server
# 允許SFTP用戶登錄
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
創建一個專門用于SFTP用戶的組。
sudo groupadd sftpusers
添加一個新用戶并將其添加到SFTP用戶組中。
sudo adduser sftpuser
sudo usermod -aG sftpusers sftpuser
確保SFTP用戶的主目錄權限設置正確,以便SSH可以訪問。
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
為SFTP用戶創建一個主目錄,并設置適當的權限。
sudo mkdir /home/sftpuser/uploads
sudo chown sftpuser:sftpusers /home/sftpuser/uploads
sudo chmod 755 /home/sftpuser/uploads
重啟SSH服務以應用配置更改。
sudo systemctl restart sshd
使用SFTP客戶端連接到服務器,測試配置是否成功。
sftp sftpuser@your_server_ip
你應該能夠登錄并訪問 /home/sftpuser/uploads
目錄。
sshd_config
文件中使用 ChrootDirectory
指令來限制用戶訪問特定目錄。通過以上步驟,你應該能夠在Linux系統上成功配置SFTP。