centos

CentOS SFTP服务器如何部署

小樊
45
2025-06-02 04:40:18
栏目: 云计算

在CentOS上部署SFTP服务器通常涉及以下几个步骤:

  1. 安装OpenSSH服务器: OpenSSH是一个常用的SSH协议实现,它包含了SFTP功能。首先,你需要确保OpenSSH服务器已经安装在你的CentOS系统上。

    sudo yum update -y
    sudo yum install openssh-server -y
    
  2. 启动并启用SSH服务: 安装完成后,启动SSH服务并设置为开机自启。

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 配置SSH服务: 编辑SSH配置文件/etc/ssh/sshd_config来启用SFTP并对其进行配置。

    sudo vi /etc/ssh/sshd_config
    

    在文件中找到以下行并进行相应的修改:

    # 子系统 sftp 内置
    Subsystem sftp /usr/libexec/openssh/sftp-server
    

    确保这一行没有被注释掉(没有#号)。你还可以添加或修改以下配置来限制用户只能使用SFTP:

    # 只允许SFTP连接
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这里,Match Group sftpusers表示接下来的配置只适用于名为sftpusers的用户组。ChrootDirectory %h将用户的根目录限制在其主目录中,ForceCommand internal-sftp强制使用SFTP,而AllowTcpForwarding noX11Forwarding no禁用了TCP和X11转发。

  4. 创建SFTP用户组并添加用户: 创建一个专门用于SFTP的用户组,并将需要访问SFTP的用户添加到这个组中。

    sudo groupadd sftpusers
    sudo useradd -m -G sftpusers username
    

    username替换为你想要添加的用户名。-m选项表示创建用户的主目录。

  5. 设置用户密码: 为新创建的用户设置密码。

    sudo passwd username
    

    按照提示输入并确认密码。

  6. 调整防火墙设置: 如果你的CentOS服务器启用了防火墙,确保开放SSH(默认端口22)的端口。

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    sudo firewall-cmd --reload
    
  7. 重启SSH服务: 为了使配置生效,重启SSH服务。

    sudo systemctl restart sshd
    

现在,你应该能够使用SFTP客户端连接到你的CentOS服务器了。记得使用你在步骤4中创建的用户名和密码进行连接。如果一切设置正确,你将只能访问该用户的主目录及其子目录,无法访问其他文件系统区域。

0
看了该问题的人还看了