当前位置: 首页 > news >正文

【Linux 操作系统配置 SFTP】

Linux 操作系统配置 SFTP

 sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。

实现目的:

 1、设置 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器;
 2、限定用户的活动目录,使用户只能在指定的目录下活动,使用 sftp 的 ChrootDirectory 配置;

查看ssh版本

ssh -V

1、添加用户组 sftp

groupadd sftp

2、创建sftp用户

useradd -g sftp -s /bin/false baksftp

-s /bin/false:不允许shell登录。
-g sftp:加入sftp组

3、设置密码

passwd baksftp

4、限定活动目录

mkdir -p /data/sftp/baksftp

5、配置Chroot目录权限

# 注意:此目录如果用于后续的 chroot 的活动目录,目录所有者必须是 root
chown root:sftp /data/sftp/baksftp
chmod 755 /data/sftp/baksftp

chroot 可能带来的问题
 因为 chroot 会将会话的根目录切换至此,所以 ssh 登录很可能会提示 /bin/bash: No such file or directory 的错误,因为此会话的路径会为 [chroot]/bin/bash

6、指定为sftp组用户的home目录

usermod -d /data/sftp/baksftp baksftp

7、修改ssh配置文件

vi /etc/ssh/sshd_config
7.1 基本的ssh远程登录配置
# 开启验证
PasswordAuthentication yes
# 禁止空密码登录
PermitEmptyPasswords no
# 开启远程登录
PermitRootLogin yes

至此可以使用 ssh 远程登录服务器了。

7.2 配置 sftp
# 修改Subsystem配置,使用系统自带的 internal-sftp 服务即可满足需求
# Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem      sftp    internal-sftp

Subsystem 是说 ssh 的子模块;这里启用的即为 sftp 模块,使用系统自带的 internal-sftp 来提供此服务

配置到这即可以使用帐号ssh登录,也可以使用ftp客户端sftp登录。

如果希望用户只能使用sftp而不能ssh登录到服务器,而且要限定用户的活动目录,继续看下面的配置:

# 对登录用户的限制
Match Group sftp	# 匹配sftp组
ChrootDirectory /data/sftp/%u # 限制用户在自己家目录
ForceCommand    internal-sftp # 限制只能使用sftp协议登录(如果要放通ssh登录,注释即可)
AllowTcpForwarding no
X11Forwarding no

Match [User|Group] userName|groupName
 Match [User|Group] sftp 这里是对登录用户的权限限定配置 Match 会对匹配到的用户或用户组起作用且高于 ssh 的通项配置。
ChrootDirectory
 用户的可活动目录可以用 %h 标识用户家目录 %u 代表用户名,当 Match 匹配的用户登录后,会话的根目录会切换至此目录。这里要尤其注意两个问题:
 1、 chroot 路径上的所有目录,所有者必须是 root,权限最大为 0755,这一点必须要注意。所以如果以非 root 用户登录时,我们需要在 chroot 下新建一个登录用户有权限操作的目录。
 2、chroot 一旦设定,则相应的用户登录时会话的根目录 “/” 切换为此目录,如果你此时使用 ssh 而非 sftp 协议登录,则很有可能会被提示:/bin/bash: No such file or directory
 对于此时登录的用户,会话中的根目录 “/” 已经切换为设置的 chroot 目录,除非 chroot 就是系统的 “/” 目录,否则此时的 chroot/bin 下是不会有 bash 命令的,这就类似添加用户时设定的 -s /bin/false 参数,shell 的初始命令式 /bin/false 自然就无法远程 ssh 登录了。
ForceCommand
 强制用户登录会话时使用的初始命令。如果如上配置了此项,则 Match 到的用户只能使用 sftp 协议登录,而无法使用 ssh 登录,会被提示:This service allows sftp connections only.

8、新建上传目录

新建一个目录供stp用户baksftp上传文件。
​这个目录所有者为baksftp,所有组为sftp,所有者有写入权限,所有组无写入权限。

mkdir /data/sftp/baksftp/upload
chown baksftp:sftp /data/sftp/baksftp/upload
chmod 755 /data/sftp/baksftp/upload

9、重启sshd服务

# 关闭selinux
setenforce 0
# 重启sshd服务
systemctl restart sshd.service

10、登录sftp

sftp -P22 baksftp@IP

相关文章:

【Linux 操作系统配置 SFTP】

Linux 操作系统配置 SFTP sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管…...

信贷专员简历模板

这份简历内容,以信贷专员招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷专员简历在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位:信贷专员 …...

Python自动化测试面试经典题

相信大家经历过许多面试都会有这样的感受:好不容易通过了 2 -3轮技术面试,但是薪资不够理想;要么被面试的测试专家虐的不要不要的。但每一次的面试也能让自己认识到不足之处,这样才有利于后续拿到理想的offer。 牛鹭学院的学子对…...

java+springboot物流管理系统设计与实现wl-ssmj+jsp

物流管理系统的开发和综合性的物流信息网站平台的建设。研究的重点是运输管理信息系统.本系统是一套基于运输作业流程的管理系统,该系统以运输任务、货品、商务三大线索设计开发。运输任务是该管理系统的核心,系统通过对运输任务中的接收、调…...

概念理论类-k8s :架构篇

转载:新手通俗易懂 k8s :架构篇 Kubernetes,读音是[kubə’netis],翻译成中文就是“库伯奈踢死”。当然了,也可以直接读它的简称:k8s。为什么把Kubernetes读作k8s,因为Kubernetes中间有8个字母…...

window10家庭版中文转专业版流程

1.确认当前为家庭中文版 2.用管理员权限打开cmd窗口 3.输入 dism /online /get-targeteditions ,查询当前支持的升级的版本 4.专业版密钥:VK7JG-NPHTM-C97JM-9MPGT-3V66T 5.changepk.exe /productkey VK7JG-NPHTM-C97JM-9MPGT-3V66T...

Chrome显示分享按钮

分享按钮不见了! Chrome://flags Chrome Refresh 2023 Disabled 左上角的标签搜索会到右上角。...

GPTS-生成一个动漫图像GPT

介绍 GPTs是ChatGPT的定制版本,用户可以通过组合指令、知识和功能来定制用于特定任务或主题的GPT。它们可以根据需要简单或复杂,解决从语言学习到技术支持等各种事情。 创建GPTs Plus和Enterprise用户可以在chat.openai.com/create上开始创建GPTs。 您可以通过在ChatGPT上的…...

在gazebo里搭建一个livox mid360 + 惯导仿真平台测试 FAST-LIO2

在gazebo里搭建一个livox mid360 惯导仿真平台测试 FAST-LIO2 前言立方体平台加入 livox mid360 激光雷达加入IMU模块调整底盘大小 并设计调用接口测试 Fast-Lio2 前言 livox mid360 在官网一直没有货,在gazebo里可以仿真该雷达形式的点云。 但是其只发布雷达的数…...

SpringMVC文件下载

<!--解决找不到“jquery-3.4.1.min.js”&#xff08;静态资源访问&#xff09;的问题 --> <mvc:default-servlet-handler/>方式1&#xff1a;如果去掉download就是查看图片 <a href"${pageContext.request.contextPath}/uploadfiles/${requestScope.filena…...

前端项目打包放到springboot项目时,访问不带index.html

当您的前端项目被打包并放到 Spring Boot 项目中时&#xff0c;如果想要通过访问不带 index.html 的路径来直接进入前端页面&#xff0c;您可以使用以下方法&#xff1a; 1&#xff0c;在 Spring Boot 项目中添加一个路由规则&#xff0c;将所有对特定路径的请求重定向到前端页…...

Tomcat注册为服务后,如何配置Tomcat内存大小

前提条件&#xff1a;tomcat已经注册为服务。 1.winR,输入regedit打开注册表 2.找到Tomcat注册表路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat80603.找到jvm内存配置路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTW…...

C语言入门实战教程——嵌入式必备教程(2023年版最全最新整理)

一、初识C语言 C语言诞生于美国的贝尔实验室&#xff0c;由丹尼斯里奇&#xff08;Dennis MacAlistair Ritchie&#xff09;以肯尼斯蓝汤普森&#xff08;Kenneth Lane Thompson&#xff09;设计的B语言为基础发展而来&#xff0c;C语言是一个功能简化的版本&#xff0c;它使C…...

Chatbot开发三剑客:LLAMA、LangChain和Python

聊天机器人&#xff08;Chatbot&#xff09;开发是一项充满挑战的复杂任务&#xff0c;需要综合运用多种技术和工具。在这一领域中&#xff0c;LLAMA、LangChain和Python的联合形成了一个强大的组合&#xff0c;为Chatbot的设计和实现提供了卓越支持。 首先&#xff0c;LLAMA是…...

【Spring之AOP底层源码解析】

文章目录 一、动态代理1.1、ProxyFactory1.2、Advice的分类1.3、Advisor的理解 二、创建代理对象的方式2.1、ProxyFactoryBean2.2、BeanNameAutoProxyCreator2.3、DefaultAdvisorAutoProxyCreator 三、Spring AOP的理解3.1、AOP中的概念3.2、Advice在Spring AOP中对应API3.3、T…...

【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL

文章目录 前言前馈神经网络数据组织Dataset网络结构训练超参设置 RNN数据组织&Dataset网络结构训练超参设置 注意力网络数据组织&Dataset网络结构Attention部分完整模型 训练部分超参设置 结果与分析训练集Loss测试集PPL 前言 本次实验主要针对前馈神经网络&#xff0…...

RabbitMQ消息模型之Sample

Hello World Hello World是官网给出的第一个模型&#xff0c;使用的交换机类型是直连direct&#xff0c;也是默认的交换机类型。 在上图的模型中&#xff0c;有以下概念&#xff1a; P&#xff1a;生产者&#xff0c;也就是要发送消息的程序C&#xff1a;消费者&#xff1a;消…...

安全技术与防火墙

目录 安全技术 防火墙 按保护范围划分: 按实现方式划分: 按网络协议划分. 数据包 四表五链 规则链 默认包括5种规则链 规则表 默认包括4个规则表 四表 查询 格式&#xff1a; 规则 面试题 NFS常见故障解决方法 安全技术 入侵检测系统 (Intrusion Detection Sy…...

Windows系统搭建Appium 2 和 Appium Inspector 环境

前言 自 2022 年 1 月 1 日起&#xff0c;Appium 核心团队不再维护 Appium 1.x。官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x&#xff0c;需要 Appium 2 才能运行。 Appium 2是一个自动化移动应用程序的开源工具&#xff0c;它带来了以下重要改进&#xff1a;  …...

计算机应用基础_错题集_OutLook操作题_操作系统应用题_电子表格---网络教育统考工作笔记005

6、(说明:考生单击窗口下方的“打开[Outlook]应用程序”启动Outlook) 按以下要求保存草稿。 收件人:test_xiao_ming@163.com...

别再手动整理PDF了!用PaddleOCR的PP-StructureV3,一键把合同/论文转成Markdown

告别手动整理&#xff1a;用PP-StructureV3实现合同/论文一键转Markdown的高效方案 每次面对堆积如山的合同扫描件或学术论文PDF时&#xff0c;你是否还在手工复制粘贴内容&#xff1f;当需要从复杂排版的文档中提取结构化数据时&#xff0c;传统OCR工具往往束手无策——表格变…...

SDMatte+在影视后期应用:绿幕替代方案探索、道具透明化处理与VFX资产快速提取

SDMatte在影视后期应用&#xff1a;绿幕替代方案探索、道具透明化处理与VFX资产快速提取 1. 影视后期中的抠图挑战 在影视后期制作中&#xff0c;高质量的抠图技术是视觉特效(VFX)的基础。传统绿幕拍摄虽然成熟&#xff0c;但存在诸多限制&#xff1a; 需要专门的拍摄场地和…...

实战分享:如何用星图平台零代码私有化Qwen3-VL:30B,并接入飞书实现智能对话

实战分享&#xff1a;如何用星图平台零代码私有化Qwen3-VL:30B&#xff0c;并接入飞书实现智能对话 1. 项目概述与价值 在当今企业智能化转型的浪潮中&#xff0c;如何快速部署私有化大模型并实现业务场景落地&#xff0c;成为许多技术团队面临的挑战。本文将详细介绍如何通过…...

科哥二次开发AWPortrait-Z体验:批量生成人像,效率提升300%

科哥二次开发AWPortrait-Z体验&#xff1a;批量生成人像&#xff0c;效率提升300% 1. 为什么选择AWPortrait-Z进行人像生成&#xff1f; 在当今内容创作领域&#xff0c;高质量人像需求呈现爆发式增长。从电商产品展示到社交媒体内容&#xff0c;专业级人像已经成为刚需。然而…...

假芯片识别与防范:工程师实战指南

1. 假芯片泛滥&#xff1a;半导体行业的隐秘危机最近在调试一块电路板时&#xff0c;我发现一个奇怪的现象&#xff1a;明明使用的是同型号的MCU&#xff0c;但部分板子的功耗异常偏高。经过一周的排查&#xff0c;最终发现问题出在芯片上——我们采购到了一批"套牌"…...

电机轴承异响?5分钟教你用振动分析仪定位故障(附实测案例)

电机轴承异响诊断实战&#xff1a;振动分析仪操作全流程解析 轴承异响是工业现场最常见的电机故障之一&#xff0c;但很多维护工程师面对"嗡嗡"声或"咔嗒"响往往无从下手。上周某化工厂的水泵电机就因轴承早期磨损未被及时发现&#xff0c;导致整机报废&am…...

杰理之进入ANC模式播歌,ANC效果变通透【篇】

需与工具ANC配置中dac_gain参数保持一致...

为什么28S与18S rRNA比值可用于评估RNA质量?

在分子生物学实验中&#xff0c;获得高质量RNA样本是基因表达分析、转录组测序等研究成功的关键前提。在众多RNA质量评估方法中&#xff0c;28S与18S核糖体RNA的比值长期被广泛用作实验室中的“黄金标准”。这一标准为何如此受重视&#xff1f;其背后有着明确的原理与判断依据。…...

嵌入式面试最重要的是项目经历

很多嵌入式应届生面试&#xff0c;我发现大家都挂在同一个地方 项目一开口&#xff0c;就让人听不下去了。 不是项目太少&#xff0c;而是项目太普通。 不是完全没做&#xff0c;而是讲不出自己到底做了什么。 不是技术栈不对&#xff0c;而是没法证明你的能力真的能落到工作里…...

BLE HID库:嵌入式设备实现HID-over-GATT的轻量级方案

1. BLE_HID 库概述&#xff1a;面向嵌入式设备的 HID-over-GATT 实现BLE_HID 是一个专为资源受限嵌入式平台设计的轻量级开源库&#xff0c;其核心目标是将传统 USB HID&#xff08;Human Interface Device&#xff09;协议栈无缝迁移至 Bluetooth Low Energy&#xff08;BLE&a…...