centos

怎样修改centos sftp配置文件

小樊
41
2025-09-30 18:59:07
栏目: 智能运维

修改CentOS SFTP配置文件(/etc/ssh/sshd_config)的详细步骤

1. 准备工作

2. 编辑SSH配置文件

使用文本编辑器(如vi/nano)打开/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

或(若系统未安装nano,可通过sudo yum install nano -y安装):

sudo nano /etc/ssh/sshd_config

3. 关键配置修改(常见场景)

① 启用/修改SFTP子系统

找到Subsystem sftp行(通常位于文件末尾),确保未被注释(无#前缀)。默认路径为/usr/libexec/openssh/sftp-server,也可替换为internal-sftp(更轻量,无需额外进程):

# 原始配置(默认)
Subsystem sftp /usr/libexec/openssh/sftp-server

# 修改为(推荐)
Subsystem sftp internal-sftp

作用:定义SFTP服务的运行方式,internal-sftp是OpenSSH内置模块,无需单独安装。

② 限制用户组使用SFTP(推荐)

通过Match块限制特定用户组(如sftpusers)的访问权限,增强安全性:

Match Group sftpusers
    ChrootDirectory %h      # 将用户限制在其家目录(需设置正确权限)
    ForceCommand internal-sftp  # 强制使用SFTP,禁止SSH shell访问
    AllowTcpForwarding no   # 禁用TCP转发(防止隧道攻击)
    X11Forwarding no        # 禁用X11转发

说明

③ 限制单个用户使用SFTP

若需限制特定用户(如ftpuser),可将Match块改为Match User

Match User ftpuser
    ChrootDirectory /home/ftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

作用:仅允许ftpuser通过SFTP访问其家目录。

④ 创建SFTP用户组及用户(可选)

若未创建sftpusers组,需先创建组并添加用户:

# 创建sftpusers组
sudo groupadd sftpusers

# 添加用户至sftpusers组(如username)
sudo usermod -aG sftpusers username

# 设置用户家目录权限(关键!ChrootDirectory要求父目录属root且权限为755)
sudo chown root:root /home/username
sudo chmod 755 /home/username

注意:用户家目录需属root,否则SFTP连接会报错。

4. 保存并退出编辑器

5. 重启SSH服务

修改配置后,需重启SSH服务使更改生效:

sudo systemctl restart sshd

验证服务状态(确保服务正常运行):

sudo systemctl status sshd

若显示active (running),则表示服务已启动。

6. 测试SFTP连接

使用SFTP客户端(如命令行工具)验证配置是否生效:

sftp username@your_server_ip

预期结果

注意事项

0
看了该问题的人还看了