Debian上SFTP配置方法
导读:Debian系统SFTP配置步骤 1. 安装OpenSSH服务器 Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装: sudo apt update sudo apt install openssh-serve...
Debian系统SFTP配置步骤
1. 安装OpenSSH服务器
Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装:
sudo apt update
sudo apt install openssh-server
2. 调整SSH服务器配置
编辑SSH配置文件/etc/ssh/sshd_config,启用内部SFTP子系统并添加安全限制:
sudo nano /etc/ssh/sshd_config
- 启用内部SFTP子系统:找到
# Subsystem sftp /usr/lib/openssh/sftp-server行,取消注释并将路径改为internal-sftp(更轻量且无需额外安装):Subsystem sftp internal-sftp - 限制用户仅能使用SFTP(可选但推荐):在文件末尾添加以下配置,将
sftpusers组内的用户限制在自家主目录(%h表示用户主目录),并禁用TCP转发、X11转发等不必要的功能:Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
3. 创建SFTP专用用户组(可选但推荐)
为便于管理,建议创建一个专门的用户组用于SFTP访问:
sudo groupadd sftpusers
4. 添加SFTP用户并加入组
创建新用户并将其添加到sftpusers组,设置登录密码:
sudo adduser username # 按提示设置用户名和密码
sudo usermod -aG sftpusers username # 将用户加入sftpusers组
5. 配置用户主目录权限
SFTP要求用户主目录的所有者为该用户,权限为755(确保用户可读写自身文件,但无法修改目录结构):
sudo chown username:username /home/username
sudo chmod 755 /home/username
若需允许用户上传文件,需创建单独的上传目录并设置正确权限(上传目录所有者为用户,组为sftpusers,权限为775):
sudo mkdir /home/username/upload
sudo chown username:sftpusers /home/username/upload
sudo chmod 775 /home/username/upload
6. 重启SSH服务
使配置生效,重启SSH服务:
sudo systemctl restart sshd
7. 验证SFTP连接
使用SFTP客户端测试连接,确认配置是否成功:
sftp username@your_server_ip
连接成功后,尝试切换至上传目录(如cd upload)或上传文件(如put local_file.txt),验证读写权限是否正常。
注意事项
- 若需限制更多用户,可将用户添加到
sftpusers组,或在sshd_config的Match块中指定具体用户名(如Match User username)。 - 日志文件
/var/log/auth.log可用于排查连接问题(如权限不足、配置语法错误)。 - 生产环境中建议启用防火墙(如
ufw),仅允许必要端口(默认22)的SSH连接:sudo ufw allow 22/tcp sudo ufw enable
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上SFTP配置方法
本文地址: https://pptw.com/jishu/734988.html
