论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
Linux搭建SFTP服务器
Linux搭建SFTP服务器
雁过留声
金牌会员
|
2024-6-11 12:51:31
|
显示全部楼层
|
阅读模式
楼主
主题
963
|
帖子
963
|
积分
2889
案例:搭建SFTP服务器
SFTP(SSH文件传输协议)
SFTP(SSH文件传输协议)是一种安全的文件传输协议,用于在计算机之间传输文件。它基于SSH(安全外壳协议)的子系统,提供了加密的、可靠的数据传输通道,用于在客户端和服务器之间安全地传输文件。
SFTP的特点:
安全性
: SFTP通过SSH协议举行数据传输,利用了加密和身份验证机制,因此提供了高度的安全性,能够有用防止数据被窃听和篡改。
功能丰富
: SFTP支持文件上传、下载、删除、重命名等文件操纵,同时还支持文件夹的创建和管理,提供了丰富的功能以满意各种文件传输需求。
跨平台性
: SFTP是一种标准化的协议,可以在多种操纵系统上利用,包罗Linux、Windows、macOS等,因此非常灵活和通用。
灵活性
: SFTP答应用户利用多种客户端工具举行文件传输,包罗下令行工具、图形界面工具以及基于Web的工具,使得用户可以根据本身的偏好选择符合的工具举行操纵。
SFTP的应用场景:
远程服务器管理
: 系统管理员可以利用SFTP来管理远程服务器,比方上传、下载和更新文件,举行日志文件的检察和分析等操纵。
网站维护
: 网站管理员可以利用SFTP来上传和下载网站文件,更新网站内容,管理网站的静态资源和动态脚本文件等。
备份和规复
: 用户可以利用SFTP来举行文件备份和规复操纵,将重要数据备份到远程服务器上,以防止本地数据丢失或损坏。
文件共享
: 团队成员可以利用SFTP来共享文件和资源,举行协作编辑和版本控制,保持团队之间的工作同步和一致。
下面我们来在Linux中搭建一台SFTP服务器
步调序号步调形貌1安装OpenSSH服务器软件包2配置SSH服务,启用SFTP子系统3创建SFTP用户组4创建SFTP用户,设置家目录和访问权限5重启SSH服务使配置见效6测试SFTP连接,确认服务器能够接受SFTP客户端的连接
1、创建用户组
在搭建SFTP服务器时创建用户组是为了更好地管理和控制用户的访问权限。简单来说,通过创建用户组,你可以将具有相似权限和访问需求的用户组织在一起,并轻松地为他们设置统一的文件访问权限和限定。这样可以更有用地管理SFTP服务器的安全性,并确保只有授权用户能够访问和传输文件。
# 创建一个新的用户组,用于管理SFTP用户。
groupadd GWSFTP
复制代码
2、创建用户
创建用户是为了答应特定的个体或实体通过SFTP协议访问服务器并举行文件传输。单独设置用户另有以下好处
身份验证
:每个用户都有本身的用户名和密码,这样可以确保只有授权的用户能够访问服务器。
访问控制
:可以根据每个用户的需求和角色设置不同的访问权限,限定其对文件系统的访问范围,从而确保安全性。
跟踪和管理
:通过用户账户,管理员可以追踪每个用户的活动,包罗登录时间、文件传输记录等,并对用户举行管理和监控。
个性化配置
:每个用户可以有本身的配置文件、家目录和设置,这样可以根据用户的需要举行个性化定制。
# 创建一个新的SFTP用户,并将其添加到 GWSFTP 组中。
useradd -m -G GWSFTP -s /bin/false hrfan_sftp
# 为用户设置密码
passwd hrfan_sftp
复制代码
# -m 选项表示创建用户的主目录,如果不存在则会自动创建。
# -G GWSFTP选项表示将新用户添加到GWSFTP组中。
# -s /bin/false选项表示指定用户的登录shell为/bin/false,这意味着该用户无法登录到系统。
# hrfan_sftp是新创建的用户名。
复制代码
3、设置SFPT目录
单独设置SFTP目录是为了限定用户的访问范围,进步服务器的安全性。具体来说, 另有以下几点长处
限定访问范围
:将用户限定在特定的目录下,可以防止其访问服务器上的其他敏感文件和目录,低落了潜在的安全风险。
减少误操纵
:用户只能在其指定的目录下举行操纵,减少了不测删除或修改其他重要文件的风险。
简化权限管理
:通过单独设置SFTP目录,管理员可以更轻松地管理用户的访问权限,而不必担心用户越权访问其他目录。
进步隔离性
:将不同用户的文件隔离在不同的目录下,有助于进步文件的隔离性,减少因用户错误操纵或恶意行为而造成的影响范围。
# 设置SFTP的文件目录,可以执行以下操作
最好按照上面的思路来,否则可能连不上SFTP服务器:
首先建立file目录,他的拥有者必须是root,并且其他用户不能拥有写入的权限(ChrootDirectory 这个选项要求的),即权限不能超过755(否则连不上)
很明显,这样,我们使用SFTP用户登录就只能进行下载操作,无法上传文件;
所以在/file/IN目录下建一个用于上传和下载的目录,他的拥有者可以是SFTP用户,可以无限制操作该目录下的文件;
复制代码
# 创建SFTP用户目录文件
mkdir /file
# 分配文件所属的组
chown root:GWSFTP /file
# 修改权限
chmod 755 /file
# 创建专属用户的文件
mkdir -p /file/IN
chown hrfan_sftp:GWSFTP /file/IN
chmod 755 /file/IN
复制代码
4、修改服务器的SFTP配置
# 编辑/etc/ssh/sshd_config文件,注释其中的Subsystem sftp /usr/libexec/openssh/sftp-server,然后新增配置如下:
# 我的SFTP配置
复制代码
Subsystem sftp internal-sftp # SFTP子系统使用内置的SFTP服务器
Match Group GWSFTP # 以下配置仅适用于属于该组的用户
ChrootDirectory /file # 目录限制
ForceCommand internal-sftp # 强制用户使用内置的SFTP服务器进行会话,而不允许执行其他命令
AllowTcpForwarding no # 禁止TCP转发
X11Forwarding no # 禁止X11转发
复制代码
5、查抄配置是否正确
sshd -t
# 重启 sshd
systemctl restart sshd
复制代码
6、修改端口
# 如果使用的是 firewall-cmd
firewall-cmd --permanent --zone=public --add-port=5678/tcp
# 需要先开启防火墙端口
firewall-cmd --reload
# 修改 /etc/ssh/sshd_config文件
注释进行修改 Port 5678
# 查询sftp连接日志
tail -f /var/log/auth.log
复制代码
7.测试是否连接乐成
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
雁过留声
金牌会员
这个人很懒什么都没写!
楼主热帖
XShell免费版的安装配置教程以及使用教 ...
阿里云体验有奖:如何将 PolarDB-X 与 ...
day02-代码实现01
【如何优化她】教你如何定位不合理的SQ ...
微服务大行其道的今天,Service Mesh是 ...
十年技术进阶路,让我明白了三件要事( ...
常用类-LocalDate、LocalTime、LocalDa ...
无需支付688苹果开发者账号,xcode13打 ...
鸿蒙3.0来了,这次,我真的想批评鸿蒙 ...
Elasticsearch 入门实战(5)--Java API ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
鸿蒙
程序人生
Java
前端开发
.Net
Postrge-SQL技术社区
linux
快速回复
返回顶部
返回列表