在RHEL9.4上启用SFTP服务

news2024/9/22 11:36:18

FTP存在的不足:

明文传输
  • FTP传输的数据(包括用户名、密码和文件内容)都是明文的,这意味着数据可以被网络上的任何人截获并读取。
  • 没有内置的加密机制,容易受到中间人攻击。
被动模式下的端口问题
  • FTP的被动模式需要开放一系列的高位端口,这些端口可能会被防火墙或NAT设备阻止,导致连接问题。

 SFTP协议

SFTP(SSH File Transfer Protocol 或 Secure File Transfer Protocol)是一种通过 SSH(Secure Shell)协议实现的文件传输协议,旨在提供安全的文件传输和管理功能。它结合了 SSH 的安全性和文件传输协议的功能,是 FTP 的安全替代方案。

SFTP 的特点

安全性
  • 加密传输:所有传输的数据,包括命令、文件内容和用户名、密码,都经过加密,确保数据在传输过程中不被窃听或篡改。
  • 身份验证:使用 SSH 的强大认证机制,包括基于密码和公钥的认证,提供了高安全性的身份验证。
简单的端口配置
  • 单一端口:默认使用 SSH 的端口(22),简化了防火墙和路由器的配置,不需要像 FTP 那样复杂的端口管理。
丰富的功能
  • 文件管理:支持文件的上传、下载、删除、重命名、目录创建等操作。
  • 权限管理:支持文件和目录权限的查看和修改。
  • 断点续传:可以在传输中断后继续传输,适合大文件的传输。

启用SFTP服务

安装OpenSSH:RHEL通常默认安装了OpenSSH。如果没有安装,可以使用以下命令安装。

[root@localhost ~]# dnf install -y openssh-server

启动并配置SSH服务:确保SSH服务已启动并在系统启动时自动启动。

[root@localhost ~]# systemctl start sshd
[root@localhost ~]# systemctl enable sshd

 创建SFTP用户:创建一个新的用户组和用户,并设置密码。

[root@localhost ~]# groupadd sftpusers
[root@localhost ~]#  useradd -m -G sftpusers -s /sbin/nologin sftpuser
[root@localhost ~]# passwd sftpuser
Changing password for user sftpuser.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.

配置SSH以限制SFTP用户:编辑SSH配置文件 /etc/ssh/sshd_config,添加以下内容来限制SFTP用户的活动范围。

[root@localhost ~]# vim  /etc/ssh/sshd_config

添加以下内容;
Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

保存并关闭文件,然后重启SSH服务:

[root@localhost ~]# systemctl restart sshd

设置目录权限:设置正确的目录权限以确保SFTP用户可以正常使用。

[root@localhost ~]# chown root:root /home/sftpuser
[root@localhost ~]# chmod 755 /home/sftpuser
[root@localhost ~]# mkdir /home/sftpuser/uploads
[root@localhost ~]# chown sftpuser:sftpuser /home/sftpuser/uploads

使用SFTP客户端连接:在客户端,可以使用命令行SFTP工具或图形化SFTP客户端(如FileZilla)进行连接。

连接成功后,可以使用以下常用命令进行文件操作:

ls:列出远程目录内容

cd:切换远程目录

lcd:切换本地目录

get:下载文件

put:上传文件

mkdir:创建远程目录

rmdir:删除远程目录

rm:删除远程文件

exit:退出SFTP会话

基本使用:

从远程服务器下载文件:

get remote_file [local_file]

remote_file:这是必选参数,表示您想要从远程服务器下载的文件路径和文件名。

[local_file]:这是可选参数,表示您希望在本地保存文件的路径和文件名。如果省略此参数,文件将使用远程文件的相同名称下载到当前本地目录。

sftp> get uploads/file.txt
Fetching /uploads/file.txt to file.txt

上传文件到远程服务器:

put local_file [remote_file]

在客户端服务器上创建一个测试文件,通过put上传本地文件到SFTP服务器端;

[root@localhost ~]# touch test_data.csv

sftp> put   test_data.csv uploads/
Uploading test_data.csv to /uploads/test_data.csv
test_data.csv                                                                    100%    0     0.0KB/s   00:00 

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

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

相关文章

server nat表和会话表的作用及NAT地址转换详细

本章节主要讲nat技术的基础 -会话表的建立也是看5元组 -状态检测技术的回包一样也看5元组,但是状态检测技术会看的除开5元组还有更多东西 老哥,你真的应该好好注意一个东西:我们的会话表只是为了后续包的转发,会话表是记录的首…

C++:哈希表

哈希表概念 哈希表可以简单理解为:把数据转化为数组的下标,然后用数组的下标对应的值来表示这个数据。如果我们想要搜索这个数据,直接计算出这个数据的下标,然后就可以直接访问数组对应的位置,所以可以用O(1)的复杂度…

澳门建筑插画:成都亚恒丰创教育科技有限公司

澳门建筑插画:绘就东方之珠的斑斓画卷 在浩瀚的中华大地上,澳门以其独特的地理位置和丰富的历史文化,如同一颗璀璨的明珠镶嵌在南国海疆。这座城市,不仅是东西方文化交融的典范,更是建筑艺术的宝库。当画笔轻触纸面&a…

能源园区可视化管理系统

利用图扑 HT 可视化打造能源园区管理系统,实时监控和优化能源分配,提升园区运行效率,增强安全管理,推动绿色和可持续发展。

信立方大模型 | 以AI之钥,开拓智能守护新疆界

在当前网络安全形势日益复杂的背景下,技术的进步不仅带来了便利,也使得网络攻击手段更加多样化和隐蔽化。据悉,国外某研究团队已成功利用GPT技术开发出一种黑客智能体框架,该框架能够深入研读CVE(通用漏洞披露&#xf…

MATLAB激光通信和-积消息传递算法(Python图形模型算法)模拟调制

🎯要点 🎯概率论和图论数学形式和图结构 | 🎯数学形式、图结构和代码验证贝叶斯分类器算法:🖊多类型:朴素贝叶斯,求和朴素贝叶斯、高斯朴素贝叶斯、树增强贝叶斯、贝叶斯网络增强贝叶斯和半朴素…

Android12 MultiMedia框架之GenericSource extractor

前面两节学习到了各种Source的创建和extractor service的启动,本节将以本地播放为例记录下GenericSource是如何创建一个extractor的。extractor是在PrepareAsync()方法中被创建出来的,为了不过多赘述,我们直接从GenericSource的onPrepareAsyn…

LeetCode刷题笔记第3011题:判断一个数组是否可以变为有序

LeetCode刷题笔记第3011题:判断一个数组是否可以变为有序 题目: 想法: 使用冒泡排序进行排序,在判断大小条件时加入判断二进制下数位为1的数目是否相同,相同则可以进行互换。最后遍历数组,相邻两两之间是…

17集 如何用ESP-IDF编译ESP-DL深度学习工程-《MCU嵌入式AI开发笔记》

17集 如何用ESP-IDF编译ESP-DL深度学习工程-《MCU嵌入式AI开发笔记》 参考文档:ESP-DL 用户指南: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/index.html 和https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/get-s…

Qt Mqtt客户端 + Emqx

环境 Qt 5.14.2 qtmqtt mqttx 功能 QT Mqtt客户端 qtmqtt 下载 qtmqtt (注意下载与QT版本相符的库)并使用QT 编译 编译完成后需要的文件: emqx 1.虚拟机中安装emqx,并启动 curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash sudo apt-get inst…

Java实现数据结构——双链表

目录 一、前言 二、实现 2.1 类的创建 三、对链表操作实现 3.1 打印链表 3.2 插入数据 3.2.1 申请新节点 3.2.2 头插 ​编辑 3.2.3 尾插 3.2.4 链表长度 3.2.5 任意位置插入 3.3 删除数据 3.3.1 头删 3.3.2 尾删 3.3.3 删除指定位置数据 3.3.4 删除指定数据 3…

王道计算机考研数据结构思维导图笔记(持续更新)

第1章 绪论 1.1 数据结构的基本概念 1.1.1 基本概念和术语 1.1.1 数据结构三要素 1.2 算法和算法评价 1.2.1算法的基本概念 1.2.2 算法效率的度量 第2章 线性表 2.1 线性表的定义和基本操作 2.1.1 线性表的定义 2.1.2 线性表的基本操作 2.2.1 顺序表上的定义 2.2.2 顺序…

Power Apps使用oData访问表数据并赋值前端

在使用OData查询语法通过Xrm.WebApi.retrieveMultipleRecords方法过滤数据时,你可以指定一个OData $filter 参数来限制返回的记录集。 以下是一个使用Xrm.WebApi.retrieveMultipleRecords方法成功的例子,它使用了OData $filter 参数来查询实体的记录&am…

期货交易记录20240714

文章目录 期货交易系统构建步骤一、选品二、心态历练三、何时开仓3.1、开仓纪律3.2、开仓时机3.3、开仓小技巧 四、持仓纪律五、接下来的计划 2024年7月15号,期货交易第6篇记录。这一篇文中主要记录下,根据交易保证金筛选品种。 交易记录:目…

internet download manager(IDM下载器) 6.42.8.2下载安装使用指南

internet download manager(IDM下载器) 6.42.8.2Z是一款功能强大的下载加速工具,能够显著提升您的下载速度,最高可达500%。它不仅能够加速下载,还能对下载任务进行智能调度,并具备恢复中断下载的能力。根据用户评价,无…

6.S081的Lab学习——Lab10: mmap

文章目录 前言mmap(hard)提示:解析 总结 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 安装方式: 通过 APT 安装…

Re:从零开始的C++世界——(一)入门基础

文章目录 C发展历史1.命名空间1.1 namespace的价值1.2 namespace的定义1.3 命名空间使⽤ 2.C输⼊&输出3.缺省参数3.1 缺省参数的概念3.2 缺省参数的分类 4.函数重载5.引⽤5.1引⽤的概念和定义5.2 引⽤的特性5.3 const引⽤5.4 使用场景5.5 指针和引⽤的关系 6.内联函数6.1内…

RDNet实战:使用RDNet实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…

从零开始做题:迷失幻境

题目 给出一个磁盘虚拟文件 解题 下载附件然后解压,得到一个虚拟机文件,使用的是DiskGenius磁盘工具打开 这样他里面的文件就全部展现出来了 我们可以看到有很多图片,和一个txt文档,还有几个没有后缀的文件,图片这么多,所以我…

自动驾驶中的人机互相接管问题讨论

一、背景 人机接管(human takeover)是指在自动驾驶过程中,当系统遇到超出其处理能力或预设安全阈值的情况时,将控制权交还给驾驶员的过程。这一环节的设计直接关系到自动驾驶技术的实用性与安全性,是目前研究和实践中…