基于centos7.9搭建SFTP服务

news2024/9/22 19:32:35

SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议,它基于SSH协议,提供了加密的文件传输功能。

安装OpenSSH服务器,默认已经安装

yum install openssh-server -y

创建SFTP用户组和用户

groupadd sftp_users
useradd -g sftp_users -s /sbin/nologin sftp_user
passwd sftp_user

创建SFTP目录结构并设置正确的权限

mkdir -p /sftp/sftp_user/upload
chown root:root /sftp
chmod 755 /sftp
chown root:root /sftp/sftp_user
chmod 755 /sftp/sftp_user
chown sftp_user:sftp_users /sftp/sftp_user/upload
chmod 775 /sftp/sftp_user/upload

修改SSH配置文件

vi /etc/ssh/sshd_config

文件末尾添加

Match Group sftp_users
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

配置参数详解

  • Match Group sftp_users
    这行开始一个条件块,指定后续的设置只适用于 sftp_users 组的成员。
  • ChrootDirectory /sftp/%u
    将用户限制在指定的目录中。%u 是一个变量,代表用户名。
    例如,对于用户 “sftp_user”,实际的 chroot 目录将是 /sftp/sftp_user。
  • ForceCommand internal-sftp
    强制使用内部 SFTP 服务器,而不允许普通的 SSH 访问。
  • X11Forwarding no
    禁止 X11 转发,这是一种图形界面转发技术。
  • AllowTcpForwarding no
    禁止 TCP 端口转发,增加安全性。

其他可以配置的参数:

  • PasswordAuthentication yes/no
    允许或禁止密码认证。
  • PermitRootLogin no
    禁止 root 用户直接登录。
  • AllowUsers user1 user2
    指定允许登录的用户列表。
  • AllowGroups group1 group2
    指定允许登录的组列表。
  • DenyUsers user1 user2
    指定禁止登录的用户列表。
  • DenyGroups group1 group2
    指定禁止登录的组列表。
  • PermitEmptyPasswords no
    禁止空密码登录。
  • MaxAuthTries 3
    设置最大认证尝试次数。
  • LoginGraceTime 60
    设置登录超时时间(秒)。
  • ClientAliveInterval 300
    设置服务器向客户端发送保活消息的间隔(秒)。
  • ClientAliveCountMax 3
    设置服务器在断开连接前等待客户端响应的最大次数。
  • UseDNS no
    禁用 DNS 反向查询,可以加快登录速度。
  • AllowAgentForwarding no
    禁止 SSH 代理转发。
  • Banner /etc/ssh/banner
    指定登录前显示的欢迎信息文件。
  • Compression delayed
    延迟压缩直到用户认证成功,可以防止某些攻击

重启

systemctl restart sshd

防火墙开启端口

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

关闭selinux

setenforce 0

测试SFTP连接;连接时会把当前位置默认设置为根目录,上传和下载的默认位置

sftp sftp_user@localhost

上传测试

[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
[root@localhost opt]# touch test.txt
[root@localhost opt]# sftp sftp_user@localhost
sftp_user@localhost's password:
Connected to localhost.
sftp> ls
upload
sftp> cd upload/
sftp> ls
sftp> put test.txt
Uploading test.txt to /upload/test.txt
test.txt                                                                              100%    0     0.0KB/s   00:00
sftp>
sftp> exit
[root@localhost opt]# ll /sftp/sftp_user/upload/
total 0
-rw-r--r--. 1 sftp_user sftp_users 0 Sep 20 23:43 test.txt
[root@localhost opt]#

下载测试

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# sftp sftp_user@localhost
sftp_user@localhost's password:
Connected to localhost.
sftp> cd /upload/
sftp> ls
test.txt
Fetching /upload/test.txt to /root/texit
sftp> get test.txt /root/test.txt
Fetching /upload/test.txt to /root/test.txt
sftp> exit
[root@localhost ~]# ls
anaconda-ks.cfg  test.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2155748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeRTOS-时间片调度

FreeRTOS-时间片调度 一、时间片调度简介二、时间片调度实验 一、时间片调度简介 同等优先级任务轮流的享有相同的CPU时间(可设置),叫时间片,在FreeRTOS中,一个时间片就等于SysTick中断周期,所以说时间片大小取决于滴答定时器中断…

windows安装Anaconda教程

一、简介 Anaconda 是一个开源的 Python 和 R 语言的分发平台,专为科学计算和数据分析设计。它包含了包管理器 Conda,可以方便地安装和管理库、环境和依赖项。此外,Anaconda 还附带了许多数据科学工具和库,如 Jupyter Notebook 和…

【HTTPS】中间人攻击和证书的验证

中间人攻击 服务器可以创建出一堆公钥和私钥,黑客也可以按照同样的方式,创建一对公钥和私钥,冒充自己是服务器(搅屎棍) 黑客自己也能生成一对公钥和私钥。生成公钥和私钥的算法是开放的,服务器能生产&…

iOS17找不到developer mode

iOS17找不到开发者模式 developer mode 下载过app之后、弹窗Developer Mode Required之后,这个菜单就出现了(之前死活找不到)。 背景:用蒲公英分发测试app,有个同事买了新机(iphone 15 pro max),添加了白名…

双虚拟机部署php项目

前言 经过前面的学习,我们对分布式部署有了一定的了解,这次我们尝试做些东西 准备 我打算用虚拟机部署一个外联网盘 一台虚拟机安装php另一台安装MySQL,但是之前已经安装过 MariaDB 了,就不打算改了。 通常MariaDB与MySQL兼容性很好,可以作为替代使用。彩虹外链网盘项目…

OpenAI的O1模型达到AGI二级,类人推理能力被提示危险,细思极恐!

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 今天让我们一起来聊聊最近科技圈的大新闻—…

Java笔试面试题AI答之设计模式(4)

文章目录 16. 简述什么是观察者模式?基本概念主要特点实现方式应用场景优缺点 17. 请列举观察者模式应用场景 ?18. 请用Java代码实现观察者模式的案例 ?19. 什么是装饰模式?定义与特点结构与角色工作原理优点应用场景示例 20. 请用…

队列的各种接口的实现(C)

队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头 队列的实…

【GlobalMapper精品教程】088:按点线面空间位置选择案例

按点线面空间位置选择的原则为:点线面的排列组合。 文章目录 一、选择线要素附近的点二、选择相交或触碰所选线的区和线三、选择包含点的区要素四、选择选定区域内的点要素一、选择线要素附近的点 启动该工具之前,首先要选择线,例如,选择某一段铁路5km范围之内的县城驻地。…

nacos适配人大金仓的数据库

前言 在微服务架构中,服务发现和配置管理是关键组件。Nacos作为一个动态服务发现和配置管理平台,支持多种数据库作为其后端存储。本文将探讨如何在Nacos中适配人大金仓数据库,以及在此过程中的最佳实践。 Nacos简介 Nacos(Nami…

安装 depot_tools 和 Windows 10 SDK 为在Windows下构建基于 chromium 的浏览器(103.0.5060.68 之二)

本文已首发于: 秋码记录 为何要安装depot_tools 虽然我们在上一篇 Windows构建基于 Chromium 的浏览器之环境准备篇安装 Visual Studio(103.0.5060.68 之一) ,已经在Windows系统安装好了Visual Studio 2019 Community版本。 然…

第十二周:机器学习

目录 摘要 Abstract 一、非监督学习 二、word embedding 三、transformer 1、应用 2、encoder 3、decoder 四、各类attention 1、最常见的类别 2、其余种类 3、小结 总结 摘要 本周继续学习机器学习的相关课程,首先了解了监督学习和非监督学习的概…

数据结构与算法——Java实现 9.习题——删除链表倒数节点

目录 19. 删除链表的倒数第 N 个结点 方法1 通过链表长度直接删除 方法2 递归加入哨兵节点 ListNode 方法3 快慢指针法 苦难,区区挫折罢了,而我必定站在幸福的塔尖 —— 24.9.22 19. 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第…

【LeetCode】146. LRU缓存

1.题目 2.思想 3.代码 3.1 代码1 下面这是一版错误的代码。错误的原因在于逻辑不正确导致最后的代码也是不正确的。 class LRUCache:def __init__(self, capacity: int):self.time 0 # 用于全局记录访问的时间self.num2time {} # 数字到时间的映射self.key2val {} # 数字…

第十四章:html和css做一个心在跳动,为你而动的表白动画

💖 让心跳加速,传递爱意 💖 在这个特别的时刻,让爱在跳动中绽放!🌟 无论是初次相遇的心动,还是陪伴多年的默契,我们的心总在为彼此跳动。就像这颗炙热的爱心,随着每一次的跳动,传递着满满的温暖与期待。 在这个浪漫的季节,让我们一同感受爱的律动!无论你是在…

Linux文件IO(七)-复制文件描述符

在 Linux 系统中,open 返回得到的文件描述符 fd 可以进行复制,复制成功之后可以得到一个新的文件描述符,使用新的文件描述符和旧的文件描述符都可以对文件进行 IO 操作,复制得到的文件描述符和旧的文件描述符拥有相同的权限&#…

自学笔记之TVM编译器框架 ,核心特性,模型优化概述,AI应用落地

最近在学习一些和芯片 AI相关的知识,重点了解了一下TVM,我自己认为TVM在AI应用落地类似的项目中,用途还是非常广泛的,现在把一些重要的笔记贴在下面,有两篇原帖链接也附上,感兴趣的同学可以学习一下。 TVM…

宝塔linux 安装code-server指定对应的端口无法访问

这个一般就是nginx搞的鬼,如果服务正常启动,就是访问不了;大概就是宝塔安装的nginx配置没有代理code-server服务对应的端口,一般就是nginx配置文件的问题 安装默认的nginx会有一个配置文件 直接拉到最后会有一行这个&#xff0c…

(三十二)栈(stack)

文章目录 栈(stack)1.1 操作1.2 关于栈的题目1.2.1 出栈顺序1.2.2 入栈顺序1.3.3 括号匹配 这篇文章将会讲两个不同的数据类型,分别是栈与队列(双向队列是两个的拓展) 栈(stack) 栈是一种特殊的…

自闭症孩子送寄宿学校,给他们成长的机会

在自闭症儿童的教育与康复之路上,选择一种合适的寄宿方式对于孩子的成长至关重要。这不仅关乎到孩子能否获得专业的训练与关怀,还直接影响到他们未来的社交能力、独立生活能力以及心理健康。今天,我们将以广州的星贝育园自闭症儿童寄宿制学校…