当前位置:首页 > 行业资讯 > 物理服务器 > 正文内容

CentOS搭建SFTP服务器

2025-08-09物理服务器139

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             WAF网站防火墙 为您的业务网站保驾护航


本文介绍了在 CentOS 系统上搭建 SFTP 服务器的方法,安装 OpenSSH 服务,确保系统已启用防火墙规则以允许 SSH 连接,配置 sshd_config 文件,禁用不必要的 SSH 功能并启用 SFTP,创建专用用户账户以限制访问,并设置适当的文件权限,重启 SSH 服务使更改生效,通过这些步骤,可以安全地为用户提供文件传输服务。
在现代网络环境中,文件传输是一个非常常见的需求,为了确保文件传输的安全性,SFTP(SSH File Transfer Protocol)已成为一种广泛使用的选择,SFTP 是基于 SSH 的一种安全协议,它不仅能够提供文件的上传和下载功能,还能确保数据传输过程中的安全性,本文将详细介绍如何在 CentOS 系统上搭建一个可靠且安全的 SFTP 服务器。

确保系统已安装 OpenSSH 服务,CentOS 默认会安装这个服务,但如果没有,请使用以下命令进行安装:

sudo yum install openssh-server

启动并启用 SSH 服务

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

sudo systemctl start sshd
sudo systemctl enable sshd

配置防火墙

如果你的服务器运行在防火墙上,确保允许 SSH(默认端口为 22)流量通过,可以使用以下命令来开放相应的端口:

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

创建专用用户

为了避免普通用户的操作对服务器造成潜在风险,建议为 SFTP 用户创建一个专用账户,这里以 sftp_user 为例:

sudo adduser sftp_user
sudo passwd sftp_user

修改 SSH 配置文件

我们需要编辑 /etc/ssh/sshd_config 文件,以限制该用户只能通过 SFTP 访问,具体步骤如下:

  • 取消注释以下行

    Subsystem sftp internal-sftp
  • 在文件末尾添加如下配置段

    Match User sftp_user
        ChrootDirectory /home/sftp_user
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no

注意事项ChrootDirectory 是指用户的根目录,必须为绝对路径,并且用户对该目录及其子目录没有任何写权限,为此,执行以下命令以确保安全:

sudo mkdir /home/sftp_user
sudo chown root:root /home/sftp_user
sudo chmod 755 /home/sftp_user

重启 SSH 服务

完成上述配置后,记得重新加载 SSH 服务以使更改生效:

sudo systemctl restart sshd

测试 SFTP 服务

使用客户端连接

使用支持 SFTP 协议的客户端工具(如 FileZilla 或者命令行工具 sftp),尝试登录到新搭建好的 SFTP 服务器,输入用户名 sftp_user 和对应的密码即可开始测试。

检查日志

如果遇到问题,可以通过查看 SSH 日志来排查原因,日志通常位于 /var/log/secure 文件中,你可以使用以下命令查看最近的日志记录:

sudo tail -f /var/log/secure

进阶配置

多用户支持

如果需要为多个用户提供 SFTP 服务,可以为每个用户单独创建一个类似的配置块,对于第二个用户 sftp_user2,可以在 /etc/ssh/sshd_config 中添加类似如下配置:

Match User sftp_user2
    ChrootDirectory /home/sftp_user2
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

同时记得创建相应的用户目录并设置正确的权限:

sudo systemctl start sshd
sudo systemctl enable sshd0

配置访问控制

除了基本的用户隔离外,还可以进一步限制哪些用户可以从哪些 IP 地址访问服务器,这可以通过修改 /etc/hosts.allow/etc/hosts.deny 文件实现,在 /etc/hosts.allow 中指定允许访问的 IP 地址列表:

sudo systemctl start sshd
sudo systemctl enable sshd1

这样就只允许来自指定子网内的主机访问你的 SFTP 服务器。

加密传输

虽然 SFTP 已经提供了很好的加密机制,但在某些情况下,你可能希望进一步增强安全性,可以通过启用 SSH 的强加密算法来实现这一点,编辑 /etc/ssh/sshd_config 文件,找到 CiphersMACs 相关选项,选择更强的加密方式。

sudo systemctl start sshd
sudo systemctl enable sshd2

日志审计

为了更好地监控 SFTP 活动,建议启用详细的日志记录,可以在 /etc/ssh/sshd_config 中增加以下设置:

sudo systemctl start sshd
sudo systemctl enable sshd3

然后再重启 SSH 服务即可。


通过以上步骤,我们成功地在 CentOS 上搭建了一个简单而有效的 SFTP 服务器,此服务器具有良好的安全性,同时也可以根据实际需求灵活扩展,无论是个人开发者还是企业用户,都可以利用这种便捷的方式来实现安全的文件传输,希望本文对你有所帮助!

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/68304.html

分享给朋友:

“CentOS搭建SFTP服务器” 的相关文章

如何挑选高性能的网络服务器

购买网络服务器时,首先需要明确自己的需求,包括服务器的计算能力、存储容量、性能指标等。应考虑服务器的品牌和型号,以及售后服务的质量。还需要了解服务器的价格,并进行预算比较。可以通过在线评测和用户评价来获取更可靠的信息。网络服务器的选购指南在数字化时代,网络服务器已成为企业、学校和政府机构不可或缺的基...

全球化,机遇与挑战

全球化推动了经济、文化、科技等多方面的交流和融合,但也带来了一系列挑战。全球化促进了全球经济一体化进程,使各国之间的联系更加紧密,促进了国际贸易的发展。全球化也导致了资源过度消耗、环境破坏等问题,需要各国共同努力应对。在全球化进程中,我们需要加强国际合作,共同解决这些问题,实现可持续发展。全球化趋势...

热门服务器IP地址的分布与趋势研究

随着互联网的发展,大量的数据被存储在服务器上。为了更好地管理和利用这些数据,我们需要对服务器IP地址进行分析和预测。本文将探讨热门服务器IP地址的特点、来源以及未来趋势。通过数据分析,我们可以更好地理解服务器资源的分布情况,并据此制定更有效的资源分配策略。预测未来服务器IP地址的动态变化,可以帮助我...

云端计算与存储,无门槛体验

无门槛的云端计算与存储解决方案通过云计算技术为用户提供灵活、便捷的云服务。用户无需购置昂贵的硬件设备,即可享受高性能和无限的存储空间。该方案提供了多种选择,包括按需付费、预付费等多种计费方式,满足不同用户的需求。许多云计算平台还提供了强大的数据管理和安全功能,确保用户的隐私和数据的安全。在当今数字化...

便捷上网,尽在手心

我的上网小助手是一款便捷的在线工具,可以提供搜索、信息查询、学习资源和娱乐等服务。它支持多种操作系统和浏览器,用户可以通过语音识别、自然语言处理等功能进行交互,极大地提升了用户体验。我还配备了强大的网络优化功能,可以帮助用户提高网络速度和稳定性。在当今数字化时代,网络的便捷性无处不在,对于一些需要快...

如何利用国际服务器逃避网络监管

在互联网迅速发展的今天,许多企业和个人开始考虑使用国外服务器来提升自己的在线业务。网络监管是一个复杂的问题,它涉及到法律、政策和行业标准等多个方面。租用国外服务器并不能完全避免网络监管。为了更好地理解和应对网络监管问题,企业和个人需要了解相关法律法规,并采取相应的措施来保护自己的权益。企业也需要建立...