安装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
。