在Debian系统配置SFTP时,需注意以下关键事项:
安装必要软件包
确保安装OpenSSH服务器(含SFTP子系统):
sudo apt update && sudo apt install openssh-server。
创建专用用户组与用户
sftp_users):sudo groupadd sftp_users。sudo useradd -m -G sftp_users -s /sbin/nologin username,并设置密码。配置SSH文件(核心步骤)
编辑/etc/ssh/sshd_config,添加以下内容:
Subsystem sftp internal-sftp # 指定SFTP子系统
Match Group sftp_users # 限制仅该组用户使用SFTP
ChrootDirectory %h # 限制用户仅能访问家目录
ForceCommand internal-sftp # 强制使用SFTP命令
AllowTcpForwarding no # 禁用端口转发
X11Forwarding no # 禁用X11转发
注意:修改前需备份原文件(sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org)。
设置目录权限
root,权限设为755:sudo chown root:root /home/username && sudo chmod 755 /home/username。upload),归属用户:sudo mkdir /home/username/upload && sudo chown username:sftp_users /home/username/upload。重启服务与验证
sudo systemctl restart sshd。sftp username@server_ip)测试连接,验证文件传输功能。安全增强措施
sudo ufw allow 22/tcp。sshd_config中设置PasswordAuthentication no。/var/log/auth.log查看SFTP登录记录,及时发现异常。关键风险提示:
ChrootDirectory权限可能导致用户无法访问目录,需确保目录归属和权限正确。AllowTcpForwarding和X11Forwarding可防止潜在的端口滥用。