centos

centos sftp虚拟主机配置

小樊
40
2025-12-29 07:11:16
栏目: 云计算

在CentOS上配置SFTP虚拟主机,通常需要使用OpenSSH服务器。以下是一个基本的步骤指南:

  1. 安装OpenSSH服务器: 如果尚未安装OpenSSH服务器,请运行以下命令来安装它:

    sudo yum install openssh-server
    
  2. 启动并启用SSH服务: 启动SSH服务并设置为开机自启:

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 配置防火墙: 确保防火墙允许SSH连接(默认端口22):

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    
  4. 创建用户和组: 为每个虚拟主机创建一个系统用户。这些用户将用于SFTP访问。

    sudo adduser sftpuser1
    sudo passwd sftpuser1
    
  5. 配置SSH以限制SFTP访问: 编辑SSH配置文件 /etc/ssh/sshd_config

    sudo vi /etc/ssh/sshd_config
    

    在文件末尾添加或修改以下内容,以限制用户只能通过SFTP访问:

    # Match Group sftpusers
    #     ChrootDirectory %h
    #     ForceCommand internal-sftp
    #     AllowTcpForwarding no
    #     X11Forwarding no
    
    Subsystem sftp internal-sftp
    
    Match User sftpuser1
        ChrootDirectory /home/sftpuser1
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这里,sftpuser1 是一个示例用户名,你应该将其替换为你实际创建的用户名。ChrootDirectory 指定了用户的根目录,确保它指向一个用户有权限访问的目录。

  6. 创建虚拟主机的根目录: 为每个虚拟主机创建一个目录,并设置适当的权限:

    sudo mkdir -p /home/sftpuser1/uploads
    sudo chown root:root /home/sftpuser1
    sudo chmod 755 /home/sftpuser1
    sudo chown sftpuser1:sftpuser1 /home/sftpuser1/uploads
    
  7. 重启SSH服务: 应用配置更改并重启SSH服务:

    sudo systemctl restart sshd
    
  8. 测试SFTP连接: 使用SFTP客户端连接到服务器,验证配置是否正确:

    sftp sftpuser1@your_server_ip
    

通过以上步骤,你应该能够在CentOS上成功配置SFTP虚拟主机。根据需要,你可以为每个虚拟主机重复这些步骤,并调整配置以满足特定需求。

0
看了该问题的人还看了