Debian中SFTP的配置步骤
导读:1. 安装OpenSSH服务器 Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装: sudo apt update sudo apt install openssh-server 2. 调整SSH服务器配置以...
1. 安装OpenSSH服务器
Debian系统默认包含OpenSSH服务器,若未安装,可通过以下命令完成安装:
sudo apt update
sudo apt install openssh-server
2. 调整SSH服务器配置以启用SFTP
使用文本编辑器打开SSH配置文件/etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
- 修改SFTP子系统:找到
# Subsystem sftp /usr/lib/openssh/sftp-server行,取消注释并将路径改为内部SFTP服务(更轻量且无需额外安装):Subsystem sftp internal-sftp - 限制用户访问(可选但推荐):在文件末尾添加以下内容,创建
sftpusers组并将该组用户限制为仅能通过SFTP访问,且根目录锁定为其主目录:
上述配置中,Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding noMatch Group sftpusers表示仅匹配sftpusers组的用户;ChrootDirectory %h将用户根目录限定为其主目录(%h为用户主目录占位符);ForceCommand internal-sftp强制用户只能使用SFTP命令,禁用SSH shell访问;AllowTcpForwarding no和X11Forwarding no分别禁用端口转发和X11转发,进一步提升安全性。
3. 创建SFTP专用用户组(可选)
若需集中管理SFTP用户,可创建专用用户组:
sudo groupadd sftpusers
4. 添加SFTP用户并加入对应组
- 创建新用户(以
ftpuser为例)并设置密码:sudo adduser ftpuser sudo passwd ftpuser - 将用户加入
sftpusers组(若未创建组可跳过此步):
注:sudo usermod -aG sftpusers ftpuser-aG参数表示追加用户至指定组,避免移除用户原有组权限。
5. 设置用户主目录权限
SFTP要求用户主目录的所有者为该用户,且权限为755(确保用户可读写自身目录,但其他用户无法修改):
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
若用户主目录不存在,可通过sudo mkdir -p /home/ftpuser创建后再执行上述命令。
6. 重启SSH服务使配置生效
修改配置文件后,需重启SSH服务以应用更改:
sudo systemctl restart sshd
部分系统中可能使用ssh服务名,若上述命令报错,可尝试:
sudo systemctl restart ssh
7. 验证SFTP连接
使用SFTP客户端从本地或其他机器连接服务器,验证配置是否成功:
sftp ftpuser@your_server_ip
连接成功后,输入用户密码,若进入用户主目录并可执行ls、put、get等命令,则说明SFTP配置正常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian中SFTP的配置步骤
本文地址: https://pptw.com/jishu/735001.html
