SFTP配置文件在哪编辑
导读:SFTP配置文件的位置及编辑方法 SFTP(SSH File Transfer Protocol)作为SSH协议的安全文件传输扩展,其核心配置文件通常位于**/etc/ssh/sshd_config**(Linux系统通用路径)。该文件是S...
SFTP配置文件的位置及编辑方法
SFTP(SSH File Transfer Protocol)作为SSH协议的安全文件传输扩展,其核心配置文件通常位于**/etc/ssh/sshd_config
**(Linux系统通用路径)。该文件是SSH服务的主配置文件,包含了SFTP子系统、用户权限、访问控制等关键设置。
1. 主配置文件路径说明
几乎所有主流Linux发行版(如Ubuntu、CentOS、Debian、Fedora、RHEL)均将SFTP配置集成在/etc/ssh/sshd_config
中。即使部分发行版(如Ubuntu)默认使用internal-sftp
(无需额外指定子系统路径),该文件仍是修改SFTP行为的主要入口。
2. 可选配置文件路径(部分发行版支持)
某些Linux发行版(如CentOS 7及以上、RHEL 7及以上)支持在/etc/ssh/sshd_config.d/
目录下创建单独的配置文件(如sftp.conf
),用于隔离SFTP相关设置。这种方式可避免直接修改主配置文件,提升可维护性:
sudo vi /etc/ssh/sshd_config.d/sftp.conf
在该文件中添加SFTP配置(如Subsystem sftp internal-sftp
、Match Group sftpusers
等),无需修改sshd_config
主文件。
3. 编辑配置文件的步骤
- 打开配置文件:使用文本编辑器(如
nano
、vi
)以root权限编辑sshd_config
(或sftp.conf
):sudo nano /etc/ssh/sshd_config # 或(可选路径) sudo vi /etc/ssh/sshd_config.d/sftp.conf
- 修改关键配置:
- 启用SFTP子系统(若使用
internal-sftp
,可直接替换为该命令):Subsystem sftp /usr/lib/openssh/sftp-server # 传统路径(部分系统可能为/usr/libexec/openssh/sftp-server) # 或(推荐,更安全) Subsystem sftp internal-sftp
- 限制用户/组访问(以
sftpusers
组为例):Match Group sftpusers ChrootDirectory %h # 限制用户根目录为其主目录 ForceCommand internal-sftp # 强制使用SFTP,禁止SSH shell访问 AllowTcpForwarding no # 禁用端口转发 X11Forwarding no # 禁用X11转发
- 设置Chroot目录权限(需提前创建目录并调整权限):
sudo mkdir -p /home/username # 创建用户主目录 sudo chown root:root /home/username # 所有权归root sudo chmod 755 /home/username # 权限设置为755(用户可读/执行,组和其他人仅读/执行)
- 启用SFTP子系统(若使用
- 重启SSH服务:修改完成后,重启SSH服务使配置生效:
sudo systemctl restart ssh # Debian/Ubuntu系统 sudo systemctl restart sshd # CentOS/RHEL系统
注意事项
- 备份配置文件:修改前建议备份原文件(如
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
),避免配置错误导致SSH服务无法启动。 - SELinux适配:若系统启用SELinux(如CentOS),需调整SELinux策略以允许SFTP访问Chroot目录(如执行
setsebool -P ssh_chroot_rw_homedirs on
)。 - 防火墙设置:确保防火墙允许SSH端口(默认22)的流量通过(如
sudo ufw allow 22
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SFTP配置文件在哪编辑
本文地址: https://pptw.com/jishu/733737.html