安裝OpenSSH服務器
sudo apt update && sudo apt install openssh-server
創建SFTP用戶組(可選)
sudo groupadd sftpusers
添加用戶并加入SFTP組
sudo useradd -m -G sftpusers username # 創建用戶并加入組
sudo passwd username # 設置用戶密碼
配置SSH文件(關鍵步驟)
編輯 /etc/ssh/sshd_config
:
Subsystem sftp /usr/lib/openssh/sftp-server
存在(取消注釋或添加)。%h
替換為用戶主目錄(如 /home/username
):Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match Group
替換為 Match User username
。設置用戶主目錄權限
sudo mkdir -p /home/username/upload # 創建可上傳目錄(可選)
sudo chown root:root /home/username # 主目錄需屬主為root
sudo chmod 755 /home/username # 主目錄權限755
sudo chown username:sftpusers /home/username/upload # 上傳目錄屬主為用戶+組
sudo chmod 755 /home/username/upload # 上傳目錄權限755
重啟SSH服務
sudo systemctl restart ssh
測試SFTP連接
使用客戶端連接:
sftp username@your_server_ip
或指定端口(若修改過SSH端口):
sftp -P 端口號 username@your_server_ip
安全建議:
sshd_config
中設置 #PermitRootLogin prohibit-password
。sudo apt update && sudo apt upgrade
。sudo ufw allow ssh
。