温馨提示×

怎样在CentOS上配置SFTP服务器

小樊
51
2025-06-08 06:17:23
栏目: 云计算

在CentOS上配置SFTP服务器可以通过以下步骤完成。我们将使用OpenSSH来实现SFTP服务器的配置。

1. 安装OpenSSH服务器

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

sudo yum install openssh-server

2. 启动并启用OpenSSH服务

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

sudo systemctl start sshd
sudo systemctl enable sshd

3. 配置防火墙

确保防火墙允许SSH连接。如果使用的是firewalld,可以添加一个规则来允许SSH连接:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

4. 创建SFTP用户

为了安全起见,建议为SFTP创建一个专用用户,并限制其访问权限。以下是创建新用户的步骤:

sudo adduser sftpuser
sudo passwd sftpuser

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

5. 配置SFTP子系统

编辑/etc/ssh/sshd_config文件,添加或修改以下内容以配置SFTP子系统:

sudo nano /etc/ssh/sshd_config

找到并确保以下行存在且未被注释:

Subsystem sftp /usr/libexec/openssh/sftp-server

6. 限制SFTP用户的访问权限

为了进一步限制SFTP用户的访问权限,可以编辑/etc/ssh/sshd_config文件,添加以下内容:

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
  • ChrootDirectory:将用户的根目录限制在其主目录下。
  • ForceCommand internal-sftp:强制使用SFTP,禁止SSH访问。
  • AllowTcpForwarding no:禁止TCP转发。
  • X11Forwarding no:禁止X11转发。

7. 创建用户的主目录并设置权限

确保用户的主目录存在,并设置正确的权限:

sudo mkdir -p /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

8. 重启SSH服务

最后,重启SSH服务以应用所有更改:

sudo systemctl restart sshd

9. 测试SFTP连接

使用SFTP客户端连接到服务器,测试配置是否成功:

sftp sftpuser@your_server_ip

按照提示输入密码,如果一切配置正确,你应该能够成功连接到SFTP服务器。

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

0