Debian系统SFTP配置步骤
Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装:
sudo apt update
sudo apt install openssh-server
编辑SSH配置文件/etc/ssh/sshd_config,启用SFTP子系统并定制访问规则:
sudo nano /etc/ssh/sshd_config
# Subsystem sftp /usr/lib/openssh/sftp-server行,取消注释并将路径改为internal-sftp(更轻量且无需额外进程):Subsystem sftp internal-sftp
sftpusers组的用户限制在自家目录(ChrootDirectory),禁止SSH登录及端口转发:Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
为便于管理,创建专门的用户组 sftpusers:
sudo groupadd sftpusers
adduser命令创建用户(如sftpuser),并设置密码:sudo adduser sftpuser
sftpusers组(-aG表示追加组,避免移除原有组):sudo usermod -aG sftpusers sftpuser
SFTP要求用户主目录的所有者为用户自身(而非组或其他),且权限为755(允许用户读写执行,其他用户仅读执行):
sudo chown sftpuser:sftpuser /home/sftpuser
sudo chmod 755 /home/sftpuser
upload),并设置用户为所有者:sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpusers /home/sftpuser/upload
使配置生效,重启SSH服务:
sudo systemctl restart sshd
使用SFTP客户端从本地机器连接服务器,测试功能:
sftp sftpuser@your_server_ip
ls查看目录内容,put local_file上传文件,get remote_file下载文件,验证传输功能是否正常。/var/log/auth.log获取详细错误信息。sshd_config中设置PermitRootLogin no)、修改默认SSH端口(Port 22改为其他端口),并配置防火墙(如ufw)允许SSH端口。