centos

centos sftp配置需要哪些依赖

小樊
40
2025-04-10 17:18:14
栏目: 智能运维

在CentOS系统上配置SFTP主要依赖于OpenSSH服务器。以下是详细的配置步骤和所需依赖:

安装OpenSSH服务器

首先,确保你的CentOS系统已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

启动并启用SSH服务

安装完成后,启动SSH服务,并设置其开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

检查SSH服务状态

确保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. 设置根目录的权限(根目录必须是root用户):

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

    sudo mkdir /sftp/sharedata
    sudo chown sftpuser:sftpuser /sftp/sharedata
    
  6. 创建新用户的SSH配置文件目录

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

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

    sudo vi /home/sftpuser/.ssh/sshd_config
    

    在配置文件中添加以下内容:

    Match User sftpuser
        ChrootDirectory /sftp
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    注意将这个配置节放到最后,否则会出现“Directive ‘UseDNS’ is not allowed within a Match block”的错误。

  9. 给新用户的用户目录递归设置归属

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

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

    sudo systemctl daemon-reload
    sudo systemctl restart sshd
    

测试SFTP连接

你可以使用SFTP客户端(如FileZilla或WinSCP)来测试SFTP连接。在客户端中输入你的CentOS系统的IP地址、SFTP用户名和密码。

通过以上步骤,你可以在CentOS系统上成功配置SFTP服务器。

0
看了该问题的人还看了