SFTP(SSH File Transfer Protocol)是一種安全的文件傳輸協議,它運行在SSH協議之上,為Linux、Windows、macOS、FreeBSD等操作系統提供了文件訪問、文件傳輸和文件管理功能。SFTP通常作為OpenSSH軟件包的一部分提供,因此在大多數Linux發行版上都可以找到對SFTP的支持,包括Ubuntu。
安裝OpenSSH服務器:
sudo apt update
sudo apt install openssh-server -y
啟動并啟用SSH服務:
sudo systemctl start ssh
sudo systemctl enable ssh
配置SSH以允許SFTP:
編輯 /etc/ssh/sshd_config
文件,確保以下行未被注釋:
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 usermod -aG sftpusers username
配置用戶的Chroot環境(可選):
sudo chown root:root /home/usernames
sudo chmod 755 /home/username
sudo mkdir /home/username/uploads
sudo chown username:sftpusers /home/username/uploads
重啟SSH服務:
sudo systemctl restart ssh
測試SFTP連接:
使用SFTP客戶端(如FileZilla或命令行sftp)連接到你的Ubuntu服務器,確保一切配置正確。
對于Windows,你可以使用Windows系統自帶的OpenSSH服務器工具來搭建SFTP服務器。具體的配置步驟包括安裝OpenSSH服務器、配置sshd_config文件、創建SFTP用戶、配置SFTP目錄、重啟OpenSSH服務器以及測試SFTP連接。
請注意,具體的安裝和配置步驟可能會隨著Ubuntu版本的更新而有所變化,因此在實際操作時,建議參考最新的官方文檔或教程。