如何在CentOS系统上搭建SFTP服务器?

在 CentOS 上安装 vsftpd,配置用户权限和防火墙规则以搭建 SFTP 服务器。

在CentOS上搭建SFTP服务器是一个相对简单的过程,主要通过安装OpenSSH来实现,以下是详细的步骤和配置说明:

如何在CentOS系统上搭建SFTP服务器?

一、安装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用户、访问目录等

假设我们要创建一个名为sftpuser的用户,限制他只能访问/sftp目录,并且使用特定的SSH配置文件。

1. 创建SFTP用户

sudo useradd -m -s /sbin/nologin sftpuser

2. 设置用户密码

sudo passwd sftpuser

3. 创建用户的SFTP根目录

如何在CentOS系统上搭建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配置文件

/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”的错误。

如何在CentOS系统上搭建SFTP服务器?

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

sudo chown -R sftpuser:sftpuser /home/sftpuser

10. 给配置文件设置读取权限

sudo chmod 755 /home/sftpuser/.ssh/sshd_config

11. 修改SSH服务启动选项(可选)

如果你需要为多个用户指定不同的配置,可以在SSH服务的启动选项中指定这些文件。

ExecStart=/usr/sbin/sshd -f /home/sftpuser1/.ssh/sshd_config -f /home/sftpuser2/.ssh/sshd_config -D $OPTIONS

然后重新加载并重启SSH服务:

sudo systemctl daemon-reload
sudo systemctl restart sshd

至此,你已经成功在CentOS上搭建了一个SFTP服务器,并且创建了一个受限访问的SFTP用户,你可以使用任何支持SFTP的客户端(如WinSCP、FileZilla等)连接到服务器,并使用SSH协议(端口22)进行连接,确保使用具有适当权限的用户凭据进行身份验证。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1267960.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-11-06 17:20
下一篇 2024-11-06 17:22

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入