个人博客网站的建设结构图,引流推广的方法,邢台网站建设,网站升级建设案例#xff1a;搭建SFTP服务器 SFTP#xff08;SSH文件传输协议#xff09; SFTP#xff08;SSH文件传输协议#xff09;是一种安全的文件传输协议#xff0c;用于在计算机之间传输文件。它基于SSH#xff08;安全外壳协议#xff09;的子系统#xff0c;提供了加密的…案例搭建SFTP服务器 SFTPSSH文件传输协议 SFTPSSH文件传输协议是一种安全的文件传输协议用于在计算机之间传输文件。它基于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 GWSFTP2、创建用户 创建用户是为了允许特定的个体或实体通过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/IN4、修改服务器的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 sshd6、修改端口
# 如果使用的是 firewall-cmdfirewall-cmd --permanent --zonepublic --add-port5678/tcp
# 需要先开启防火墙端口firewall-cmd --reload
# 修改 /etc/ssh/sshd_config文件 注释进行修改 Port 5678
# 查询sftp连接日志 tail -f /var/log/auth.log7.测试是否连接成功