在Ubuntu上安裝和配置SFTP(SSH File Transfer Protocol)通常涉及以下幾個步驟:
首先,確保你的系統包列表是最新的:
sudo apt update
然后,使用以下命令安裝OpenSSH服務器:
sudo apt install openssh-server
安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start ssh
sudo systemctl enable ssh
默認情況下,OpenSSH服務器已經配置為允許SFTP連接。但是,如果你需要自定義配置,可以編輯 /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
這里,sftpusers
是一個用戶組,你可以創建這個組并將要限制的用戶添加到這個組中。
創建一個新的用戶組來管理SFTP用戶:
sudo groupadd sftpusers
將用戶添加到該組:
sudo usermod -aG sftpusers your_username
如果你想限制SFTP用戶只能訪問其主目錄,你需要確保主目錄及其所有父目錄的權限設置正確。例如:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
為用戶的家目錄創建一個子目錄,該子目錄將是用戶可以訪問的唯一目錄:
sudo mkdir /home/your_username/upload
sudo chown your_username:sftpusers /home/your_username/upload
sudo chmod 755 /home/your_username/upload
應用配置更改后,重啟SSH服務:
sudo systemctl restart ssh
使用SFTP客戶端(如FileZilla或命令行sftp
)連接到你的服務器,確保一切配置正確。例如,使用命令行sftp
:
sftp your_username@your_server_ip
輸入密碼進行驗證后,你就可以使用sftp
命令進行文件傳輸操作了。
請注意,這些步驟假設你正在使用默認的SSH配置。如果你的服務器有特殊的防火墻規則或其他安全設置,你可能需要相應地調整它們以允許SFTP連接。