HoRain云--CentOS7搭建安全SFTP服务器全攻略
HoRain云小助手个人主页 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧让大家从底层了解C把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘一起解密网络协议在运行中协议的基本运行机制《docker容器精解篇》全面深入解析 docker 容器从基础到进阶涵盖原理、操作、实践案例助您精通 docker。《linux系列》本专栏主要撰写Linux干货内容从基础到进阶知识由抽象到简单通俗易懂帮你从新手小白到扫地僧。《python 系列》本专栏着重撰写Python相关的干货内容与编程技巧助力大家从底层去认识Python将更多复杂的知识由抽象转化为简单易懂的内容。《试题库》本专栏主要是发布一些考试和练习题库涵盖软考、HCIE、HRCE、CCNA等目录⛳️ 推荐专栏介绍 安装与检查OpenSSH 创建专用的SFTP用户和组 建立安全的目录结构⚙️ 配置SSH服务器关键步骤 重启服务与测试连接⚠️ 常见问题排查在CentOS 7上搭建一个安全的SFTP服务器核心是配置一个“监牢”环境将用户限制在指定目录内。下面这张流程图帮你快速了解整个操作的全貌。flowchart TD A[开始搭建SFTP服务器] -- B[安装与启动OpenSSH] B -- C[创建专用用户和组] C -- D[建立严格的目录结构] D -- E[配置SSH以启用chroot] E -- F[重启服务并测试] F -- G[SFTP服务就绪] C -- C1[创建用户组sftpusers] C -- C2[创建用户并禁止shell登录] D -- D1[设置根目录属主为root] D -- D2[创建用户可写的子目录] E -- E1[启用internal-sftp] E -- E2[匹配用户组并设置chroot] F -- F1[重启sshd服务] F -- F2[使用客户端连接测试]以下是每个步骤的详细操作说明。 安装与检查OpenSSHSFTP是OpenSSH的一个子系统因此首先需要确保OpenSSH服务器已安装并运行。安装OpenSSH服务器通常系统已预装sudo yum install -y openssh-server启动并设置开机自启sudo systemctl start sshd sudo systemctl enable sshd检查防火墙如果防火墙firewalld是开启状态需要放行SSH默认的22端口。sudo firewall-cmd --permanent --add-servicessh sudo firewall-cmd --reload如果使用的是云服务器如阿里云、腾讯云还需在云平台的安全组规则中放行TCP 22端口。 创建专用的SFTP用户和组为了管理方便和安全我们为SFTP用户创建一个独立的组和用户。创建用户组例如sftpuserssudo groupadd sftpusers创建SFTP用户例如用户名为mysftpuser并禁止其通过SSH获得Shell终端这是关键的安全措施sudo useradd -g sftpusers -s /sbin/nologin mysftpuser为用户设置密码sudo passwd mysftpuser 建立安全的目录结构这是实现“监牢”环境的物理基础目录权限设置至关重要。创建SFTP根目录选择一个目录作为所有SFTP用户的根目录例如/sftp。sudo mkdir /sftp设置根目录权限该目录的拥有者必须是root且其他用户不能有写权限否则SSH会出于安全考虑拒绝连接。sudo chown root:root /sftp sudo chmod 755 /sftp # 权限必须是755或更严格如750创建用户专属目录在根目录下为刚创建的用户建立一个目录此目录将是该用户登录后看到的唯一位置。sudo mkdir /sftp/mysftpuser设置用户子目录权限用户专属目录的权限同样需要严格设置。sudo chown root:root /sftp/mysftpuser # 属主仍为root sudo chmod 755 /sftp/mysftpuser创建用户可操作的子目录用户需要一个有写权限的目录来上传文件例如upload。sudo mkdir /sftp/mysftpuser/upload sudo chown mysftpuser:sftpusers /sftp/mysftpuser/upload # 此目录属主为用户 sudo chmod 755 /sftp/mysftpuser/upload # 可根据需要设置为766或770⚙️ 配置SSH服务器关键步骤通过修改SSH配置文件将用户锁定在指定的根目录内。编辑配置文件sudo vi /etc/ssh/sshd_config在文件末尾添加以下配置这些配置指示SSH为sftpusers组的用户启用内部SFTP服务并将其限制在指定的根目录。# 注释掉或确保以下行存在使用内置SFTP实现 Subsystem sftp internal-sftp # 匹配sftpusers组应用以下规则 Match Group sftpusers # 设置chroot根目录%u代表用户名这里用户将锁定在/sftp/mysftpuser ChrootDirectory /sftp/%u # 强制使用SFTP禁止Shell访问 ForceCommand internal-sftp # 禁用不相关的功能以增强安全 AllowTcpForwarding no X11Forwarding no在保存修改前务必检查配置语法防止配置错误导致SSH服务无法启动sudo sshd -t如果该命令没有输出任何错误信息说明配置文件语法正确。 重启服务与测试连接重启SSH服务以应用所有更改sudo systemctl restart sshd使用SFTP客户端连接测试使用如FileZilla、WinSCP等客户端。服务器地址填你的CentOS 7的IP端口22。用户名填mysftpuser密码是你设置的密码。连接成功后你应该只能看到upload目录并且无法切换到其上级目录。⚠️ 常见问题排查连接被立即关闭最常见的原因是Chroot目录如/sftp/mysftpuser的权限设置错误。请确保其属主是root并且权限不超过755。无法上传文件/创建目录用户只能在属于自己且有写权限的子目录如upload中进行写操作。请检查该子目录的属主和权限。SELinux阻止如果启用了SELinux可能需要调整策略sudo setsebool -P ssh_chroot_rw_homedirs on按照以上步骤操作你就能在CentOS 7上成功搭建一个安全的SFTP服务器了。如果你在配置过程中遇到具体问题例如错误信息可以告诉我我们再一起分析。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧

相关新闻

京唐港潮汐表查询2026-02-10

京唐港潮汐表查询2026-02-10

位置:京唐港,日期:2026-02-10,农历:乙巳[蛇]年十二(腊)月廿三,星期:星期二,潮汐类型:小潮死汛最高水位:144.00cm,最低水位:35.00cm&am…

2026/5/17 3:34:41 阅读更多 →
结合这段代码“对象属性变化自动同步到CSV(本地文件)”的核心特性,除了WinForm .NET 4.8界面开发,以下这些场景也非常适配,且能最大化发挥其价值:

结合这段代码“对象属性变化自动同步到CSV(本地文件)”的核心特性,除了WinForm .NET 4.8界面开发,以下这些场景也非常适配,且能最大化发挥其价值:

winform net4.8,绑定优点结合 WinForm .NET 4.8 这个具体的应用场景,我为你梳理这份修改后的数据绑定代码在该环境下的核心优点,更贴合实际开发场景:WinForm .NET 4.8 环境下的核心优点完全适配.NET 4.8 框架代码中使用的 System.…

2026/7/4 20:30:46 阅读更多 →
协方差矩阵自适应进化策略(CMA-ES)详解:从基础原理到优化算法

协方差矩阵自适应进化策略(CMA-ES)详解:从基础原理到优化算法

文章目录 协方差矩阵自适应进化策略(CMA-ES)详解 1 算法概述与生物基础 1.1 算法起源与发展历程 1.2 生物进化基础 1.3 黑盒优化问题背景 1.4 算法特点与优势 2 算法原理与数学模型 2.1 基本框架与核心概念 2.2 协方差矩阵自适应原理 2.3 步长控制机制 2.4 数学性质与收敛性分…

2026/7/5 2:53:29 阅读更多 →

最新新闻

文件上传漏洞攻防实战:从原理到CISP-PTE考点全解析

文件上传漏洞攻防实战:从原理到CISP-PTE考点全解析

1. 项目概述:从一次文件上传漏洞的实战复盘说起最近在复盘CISP-PTE认证的备考过程,发现文件上传这个考点几乎是每次渗透测试的“必考题”,也是很多安全从业者从理论走向实战的第一个突破口。很多人觉得文件上传漏洞不就是传个木马吗&#xff…

2026/7/6 9:34:39 阅读更多 →
AppScan 扫描结果分析:5步法高效验证与处理100+个潜在漏洞

AppScan 扫描结果分析:5步法高效验证与处理100+个潜在漏洞

AppScan扫描结果深度解析:从漏洞验证到修复落地的全流程指南当安全扫描工具弹出"发现100潜在漏洞"的警示时,开发团队的第一反应往往是头皮发麻。我曾见证过某金融项目团队面对AppScan生成的287页报告时的崩溃场景——安全工程师通宵标记出的&q…

2026/7/6 9:32:36 阅读更多 →
从OWASP指南到安全代码模板:Semgrep与Cookiecutter实战

从OWASP指南到安全代码模板:Semgrep与Cookiecutter实战

1. 项目概述:为什么我们需要“安全代码模板”?在应用安全领域,我们常常面临一个尴尬的境地:安全规范文档浩如烟海,但开发者在编码时,却很难快速、准确地找到并应用那些最关键的安全防护措施。OWASP Cheat S…

2026/7/6 9:32:36 阅读更多 →
半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?

半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?

半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?在半导体器件设计与选型过程中,工程师们常常陷入对关键参数的片面理解。禁带宽度、载流子迁移率等基础参数的真实工程意义,远比教科书上的定义复杂得多。…

2026/7/6 9:30:31 阅读更多 →
MATLAB环境下可直接运行的人脸识别CNN工程:含完整训练测试代码、预训练模型与实操录像

MATLAB环境下可直接运行的人脸识别CNN工程:含完整训练测试代码、预训练模型与实操录像

本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB人脸识别CNN实现方案,适配MATLAB 2022a版本,无需额外配置即可运行。包含从数据预处理(图像缩放、归一化)、网络构建(卷积层、池化…

2026/7/6 9:28:30 阅读更多 →
JMeter CSV结果文件转HTML性能报告:命令行生成与深度解读指南

JMeter CSV结果文件转HTML性能报告:命令行生成与深度解读指南

1. 项目概述:从CSV结果到可视化洞察做性能测试,跑完脚本、拿到一堆数据只是第一步。真正考验人的,是能从这些冰冷的数据里看出门道,讲出故事。JMeter的“查看结果树”保存的CSV文件,就像一本记录了所有测试细节的原始账…

2026/7/6 9:28:30 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻