特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

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

CentOS搭建SFTP服务器

2025-08-09物理服务器349

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

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

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


本文介绍了在 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 mkdir /home/sftp_user2
sudo chown root:root /home/sftp_user2
sudo chmod 755 /home/sftp_user2

配置访问控制

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

sshd: 192.168.1.0/24

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

加密传输

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

Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160

日志审计

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

LogLevel VERBOSE

然后再重启 SSH 服务即可。


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

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

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

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

分享给朋友:

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

国外服务器搭建的网站是否能在国内访问?

在互联网时代,域名和IP地址已经成为我们获取网络资源的基本工具,在某些情况下,国外服务器搭建的网站可能会遇到在国内无法直接访问的问题,本文将探讨这一现象的原因,并提供几种解决方案。原因分析1、DNS解析问题: - 国内用户使用的是中国国家顶级域名(如.cn),而国外服务器可能使用不同的域名或子域...

如何在云服务提供商的网站上找到合适的服务器租用套餐?

选择适合你需求的服务器提供商,注册并创建账户。了解所选平台的租用选项,如虚拟机、裸金属或专用服务器,并选择最适合的配置。按照平台提供的步骤进行订购和安装。确保备份数据并定期更新系统以保持安全。在当今数字化时代,游戏成为人们生活的一部分,我的世界(Minecraft)以其独特的玩法和丰富的资源吸引了无...

阿里云服务器,一年多少钱?价格走势分析及购买建议

阿里云服务器一年的价格从几百元到几千元不等,具体取决于服务器类型、配置和使用场景。价格走势通常呈波动趋势,可能会在不同时间段有所调整。如果您需要选择合适的阿里云服务器进行购买,可以参考其官方产品页面或咨询专业技术人员以获取更详细的信息。本篇文章旨在探讨阿里云服务器一年的价格,并对价格走势进行详细分析...

低成本独立服务器租用体验探索

在当今科技飞速发展的时代,选择一个性价比高的独立服务器租用平台成为许多用户的选择。这些平台提供了灵活的价格和丰富的功能选项,使得用户可以根据自己的需求进行定制化部署。它们还提供了一种便捷的方式,让用户可以轻松地获取并使用服务器资源。一些知名的大公司也推出了自己的独立服务器租用服务,为用户提供更加全面...

租用游戏服务器一个月的费用分析

租用游戏服务器一个月的费用通常包括基础服务费、网络带宽费和数据存储费。具体费用会因游戏类型、服务器规格和使用时间等因素而异。建议在购买前详细比较不同服务商的价格和服务,以确保获得最佳的性价比。游戏服务器租赁成本考量与优化建议在当今数字化经济时代,游戏行业的发展日益火热,随着玩家数量的增加和游戏内容的...

经济实惠与高性能,完美融合

智能电视凭借其经济实惠的价格和强大的性能,成为现代家庭中不可或缺的一部分。无论是日常观看还是娱乐活动,智能电视都能为用户提供高质量的内容和服务,满足用户对多媒体设备的基本需求。在快节奏的现代社会中,人们对于 computing资源的需求日益增长,而独立服务器租赁作为一种灵活且经济的选择,正逐渐受到越...