centos

centos sftp防火墙配置指南

小樊
34
2025-03-21 16:31:53
栏目: 智能运维

在CentOS系统上配置SFTP服务器的防火墙涉及几个关键步骤。以下是详细的指南:

安装和配置OpenSSH服务器

  1. 安装OpenSSH服务器

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 检查SSH服务状态

    sudo systemctl status sshd
    

配置SFTP用户和目录权限

  1. 创建SFTP用户

    sudo useradd -m -s /sbin/nologin sftpuser
    
  2. 设置用户密码

    sudo passwd sftpuser
    
  3. 创建用户的SFTP根目录

    sudo mkdir /sftp
    
  4. 设置根目录的权限

    sudo chown root:root /sftp
    sudo chmod 755 /sftp
    
  5. 在根目录下创建子目录,并设置写入权限

    sudo mkdir /sftp/sharedata
    sudo chown sftpuser:sftpuser /sftp/sharedata
    sudo chmod 755 /sftp/sharedata
    

配置SSH配置文件

  1. 创建用户的SSH配置文件目录

    sudo mkdir /home/sftpuser/.ssh
    
  2. 复制系统SSH配置文件到用户目录

    sudo cp /etc/ssh/sshd_config /home/sftpuser/.ssh/sshd_config
    
  3. 编辑用户的SSH配置文件

    sudo nano /home/sftpuser/.ssh/sshd_config
    

    在文件中添加以下配置:

    Match User sftpuser
        ChrootDirectory /sftp
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  4. 给新用户的用户目录递归设置归属

    sudo chown -R sftpuser:sftpuser /home/sftpuser
    
  5. 给配置文件设置读取权限

    sudo chmod 755 /home/sftpuser/.ssh/sshd_config
    
  6. 修改SSH服务启动选项(可选): 如果你需要为多个用户指定不同的配置,可以在SSH服务的启动选项中指定这些文件。

    sudo systemctl daemon-reload
    sudo systemctl restart sshd
    

配置防火墙规则

  1. 启动并启用firewalld(如果尚未启动):

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 开放SSH端口(默认22)

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    
  3. 配置SFTP子系统: 编辑 /etc/ssh/sshd_config 文件,确保以下配置存在:

    Subsystem sftp /usr/libexec/openssh/sftp-server
    
  4. 重新加载SSH服务

    sudo systemctl restart sshd
    

通过以上步骤,你可以在CentOS系统上成功配置SFTP服务器,并确保其安全性。

0
看了该问题的人还看了