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

ssh和sftp服务分离

目录

  • 一、增加sftp的deamon
  • 二、增加sftp的service
  • 三、其他配套文件
  • 四、修改配置文件
  • 五、分别重启两个服务:

由于安全需要,客户这边想把sftp使用的端口与ssh使用的端口分开。

我们知道sftp没有自己的服务器守护进程,它需要依赖sshd守护进程来完成客户端的连接操作。sftp服务作为ssh的一个子服务,是通过/etc/ssh/sshd_config配置文件中的Subsystem实现的,如果没有配置Subsystem参数,则系统是不能进行sftp访问的。所以,要分离ssh和sftp服务的话,基本的思路是创建两个sshd进程,分别监听在不同的端口,一个作为ssh服务的deamon,另一个作为sftp服务的deamon。

分离步骤如下:

一、增加sftp的deamon

为了方便,我们将sftp服务的后台程序命名为/usr/sbin/sftpd。/usr/sbin/sftpd做一个连接指向/usr/sbin/sshd。

ln -sf /usr/sbin/sshd /usr/sbin/sftpd

二、增加sftp的service

实现sftp服务时,将/usr/lib/systemd/system/sshd.service 复制到 /etc/systemd/system/sftpd.service,然后修改sftpd.service文件内容。

cp -a /usr/lib/systemd/system/sshd.service /etc/systemd/system/sftpd.service[root@tongweb RMANTEST]# vi /etc/systemd/system/sftpd.service
[Unit]
Description=Sftpd server daemon                          #(这行需要修改)
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sftpd                     #(这行需要修改)
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config       #(这行需要修改)
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target
systemctl enable sftpd.service

如果,openssh采用二进制包升级过,比如从OS自带的7.4p1版本升级到8.6p1版本,sftpd.service文件中需要做下面的修改:

[Service]
Type=simple

三、其他配套文件

  • 复制/etc/pam.d/目录下的sshd文件,放到同目录,命名为:sftpd
cp -a /etc/pam.d/sshd  /etc/pam.d/sftpd
  • 复制/etc/ssh/目录下的sshd_config文件,放到同目录,命名为:sftpd_config
cp  -a /etc/ssh/sshd_config  /etc/ssh/sftpd_config
  • 复制/etc/sysconfig/目录下的sshd文件,放到同目录,命名为:sftpd
cp -a /etc/sysconfig/sshd  /etc/sysconfig/sftpd 
  • 创建sftp服务运行pid文件
touch /var/run/sftpd.pid

四、修改配置文件

修改参数,适配sftp服务,同时在ssh服务中停掉sftp服务。

  • 修改sftpd配置文件
vim /etc/ssh/sftpd_config修改Port 22为Port 3322,并去掉注释。
修改#PidFile /var/run/sshd.pid,为PidFile /var/run/sftpd.pid
注释掉Subsystem      sftp    /usr/local/openssh/libexec/sftp-server
在文件末尾增加以下内容:Subsystem sftp internal-sftp
Match User sftpuser                       ##限制用户
ChrootDirectory /sftpdir                  ##限制sftp目录
X11Forwarding no                          ##与sftp无关,所以关闭
AllowTcpForwarding no                     ##与sftp无关,所以关闭
PermitTTY no                              ##不允许登入TTY
ForceCommand internal-sftp
  • 修改sshd配置文件
vim /etc/ssh/sshd_config取消注释,PidFile /var/run/sshd.pid
增加注释,#Subsystem,即停掉sftp子服务

五、分别重启两个服务:

systemctl restart sshd
systemctl restart sftpd

相关文章:

ssh和sftp服务分离

目录 一、增加sftp的deamon二、增加sftp的service三、其他配套文件四、修改配置文件五、分别重启两个服务: 由于安全需要,客户这边想把sftp使用的端口与ssh使用的端口分开。 我们知道sftp没有自己的服务器守护进程,它需要依赖sshd守护进程来…...

Bootstrap学习三

Bootstrap学习三 文章目录 前言四、Bootstrap插件4.1. 插件概览4.1.1. data属性4.1.2. 编程方式的API4.1.3. 避免命名空间冲突4.1.4. 事件 4.2. 模态框4.2.1. 引入4.2.2. 基本结构4.2.3. 基本使用4.2.4. 触发模态框的方法 4.3. 下拉菜单和滚动监听4.3.1. 下拉菜单4.3.2. 滚动监…...

第77讲用户管理功能实现

用户管理功能实现 前端&#xff1a; views/user/index.vue <template><el-card><el-row :gutter"20" class"header"><el-col :span"7"><el-input placeholder"请输入用户昵称..." clearable v-model"…...

锐捷(十九)锐捷设备的接入安全

1、PC1的IP地址和mac地址做全局静态ARP绑定; 全局下&#xff1a;address-bind 192.168.1.1 mac&#xff08;pc1&#xff09; G0/2:ip verify source port-securityarp-check 2、PC2的IP地址和MAC地址做全局IPMAC绑定&#xff1a; Address-bind 192.168.1.2 0050.7966.6807Ad…...

【MySQL题】——基础概念论述(二)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…...

Spring Boot + flowable 快速实现工作流

背景 使用flowable自带的flowable-ui制作流程图 使用springboot开发流程使用的接口完成流程的业务功能 文章来源&#xff1a;https://blog.csdn.net/zhan107876/article/details/120815560 一、flowable-ui部署运行 flowable-6.6.0 运行 官方demo 参考文档&#xff1a; htt…...

(已解决)LaTeX Error: File `svproc.cls‘ not found. (用Springer LNCS 会议Proceedings模板)

会议要求使用LNCS模板&#xff0c;并给了获取模板链接&#xff1a;https://www.springer.com/gp/authors-editors/conference-proceedings/conference-proceedings-guidelines。我在里面下载了latex模板之后&#xff0c;编译那个author.tex发现抱错&#xff1a; 解决办法&#…...

Spring Boot 自定义指标

Spring Boot 自定义指标 阅读本文需要对一些前置技术有所了解,下面列出的一些前置技术是必须要了解的。 Prometheus:这是一个时序数据库,我们的指标数据一般保存在这个数据库中。Grafana:借助Grafana可以将Prometheus中的数据以图表的方式展示出来。Micrometer:是一个用于…...

安全的接口访问策略

渗透测试 一、Token与签名 一般客户端和服务端的设计过程中&#xff0c;大部分分为有状态和无状态接口。 一般用户登录状态下&#xff0c;判断用户是否有权限或者能否请求接口&#xff0c;都是根据用户登录成功后&#xff0c;服务端授予的token进行控制的。 但并不是说有了tok…...

最佳视频转换器软件:2024年视频格式转换的选择

我们生活在一个充满数字视频的世界&#xff0c;但提供的内容远不止您最喜欢的流媒体服务目录。虽然我们深受喜爱的设备在播放各种自制和下载的视频文件方面变得越来越好&#xff0c;但在很多情况下您都需要从一种格式转换为另一种格式。 经过大量测试&#xff0c; 我们尝试过…...

深入理解 Nginx 插件及功能优化指南

深入理解 Nginx 插件及功能优化指南 深入理解 Nginx 插件及功能优化指南1. Nginx 插件介绍1.1 HTTP 模块插件ngx_http_rewrite_modulengx_http_access_module 1.2 过滤器插件ngx_http_gzip_modulengx_http_ssl_module 1.3 负载均衡插件ngx_http_upstream_modulengx_http_upstre…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Blank组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Blank组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Blank组件 空白填充组件&#xff0c;在容器主轴方向上&#xff0c;空白填充组件具…...

InternLM大模型实战-4.XTuner大模型低成本微调实战

文章目录 前言笔记正文XTuner支持模型和数据集 微调原理跟随文档学习快速上手自定义微调准备数据准备配置文件 MS-Agent微调 前言 本文是对于InternLM全链路开源体系系列课程的学习笔记。【XTuner 大模型单卡低成本微调实战】 https://www.bilibili.com/video/BV1yK4y1B75J/?…...

【SpringBoot篇】解决Redis分布式锁的 误删问题 和 原子性问题

文章目录 &#x1f354;Redis的分布式锁&#x1f6f8;误删问题&#x1f388;解决方法&#x1f50e;代码实现 &#x1f6f8;原子性问题&#x1f339;Lua脚本 ⭐利用Java代码调用Lua脚本改造分布式锁&#x1f50e;代码实现 &#x1f354;Redis的分布式锁 Redis的分布式锁是通过利…...

蓝桥杯Web应用开发-CSS3 新特性【练习三:文本阴影】

文本阴影 text-shadow 属性 给文本内容添加阴影的效果。 文本阴影的语法格式如下&#xff1a; text-shadow: x-offset y-offset blur color;• x-offset 是沿 x 轴方向的偏移距离&#xff0c;允许负值&#xff0c;必须参数。 • y-offset 是沿 y 轴方向的偏移距离&#xff0c…...

LRU缓存

有人从网络读数据&#xff0c;有人从磁盘读数据&#xff0c;机智的人懂得合理利用缓存加速数据的读取效率&#xff0c;提升程序的性能&#xff0c;搏得上司的赏识&#xff0c;赢得白富美的青睐&#xff0c;进一步走向人生巅峰~ LRU假说 LRU缓存&#xff08;Least Recently Used…...

ncc匹配提速总结

我们ncc最原始的匹配方法是&#xff1a;学习模板w*h个像素都要带入ncc公式计算 第一种提速&#xff0c;学习模板是w*h&#xff0c;而我们支取其中的w/2*h/2,匹配窗口同理&#xff0c;计算量只有1/4。 另外一种因为ncc是线性匹配&#xff0c;我们在这上面也做了文章&#xff0…...

人力资源智能化管理项目(day06:员工管理)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/humanResourceIntelligentManagementProject 页面结构 <template><div class"container"><div class"app-container"><div class"left"><el-input style&qu…...

Java实现数据可视化的智慧河南大屏 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏&#xff0c;包含了GDP、…...

【Flink】FlinkSQL的DataGen连接器(测试利器)

简介 我们在实际开发过程中可以使用FlinkSQL的DataGen连接器实现FlinkSQL的批或者流模拟数据生成,DataGen 连接器允许按数据生成规则进行读取,但注意:DataGen连接器不支持复杂类型: Array,Map,Row。 请用计算列构造这些类型 创建有界DataGen表 CREATE TABLE test ( a…...

实测Taotoken多模型聚合调用的响应延迟与稳定性观感

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 实测Taotoken多模型聚合调用的响应延迟与稳定性观感 在项目开发中&#xff0c;我们常常需要接入不同的大模型来满足多样化的需求。…...

论文降 AI 软件红黑榜!这 3 类是套壳 ChatGPT 改完 AI 率反涨 30% 别用

论文降 AI 软件红黑榜&#xff01;这 3 类是套壳 ChatGPT 改完 AI 率反涨 30% 别用 每年毕业季都有同学跑来问我——「学姐我花了 200 块买的降 AI 工具&#xff0c;降完之后送知网检测 AI 率反而涨了 30 个点&#xff0c;怎么回事&#xff1f;」这不是段子&#xff0c;是 202…...

新手避坑指南:用ROS Melodic在Ubuntu 18.04上为Dofbot机械臂配置MoveIt!

新手避坑指南&#xff1a;用ROS Melodic在Ubuntu 18.04上为Dofbot机械臂配置MoveIt&#xff01; 第一次为Dofbot机械臂配置ROS Melodic和MoveIt时&#xff0c;很多新手会在环境搭建、依赖安装和配置文件调试等环节遇到各种"坑"。这些看似简单的问题往往耗费大量时间…...

构建一个基于YOLOv8的打架检测系统,包括环境设置、数据准备、模型训练、评估和推理部署。Yolov8训练打架斗殴数据集

构建一个基于YOLOv8的打架检测系统&#xff0c;包括环境设置、数据准备、模型训练、评估和推理部署。Yolov8训练打架斗殴数据集 文章目录1. 环境设置2. 数据准备2.1 数据集结构2.2 类别映射3. 文件内容3.1 Config.py3.2 train.py3.3 detect_tools.py3.4 UIProgram/MainProgram.…...

如何构建基于UNet的眼底血管图像分割系统

如何构建基于UNet的眼底血管图像分割系统 文章目录1. 数据预处理2. 定义UNet模型3. 训练过程4. 测试过程5. 日志记录1构建一个基于UNet的眼底血管图像分割系统涉及多个步骤&#xff0c;包括数据预处理、模型定义、训练过程、测试过程以及日志记录。下面是一个完整的指南&#x…...

【MATLAB】基于MATLAB的图像加密传输平台【GUI+源码+项目说明】

【MATLAB】基于MATLAB的图像加密传输平台【GUI源码项目说明】 一、项目介绍 数字图像具有数据量大、像素间相关性强、视觉冗余度高的特点, 传统的字节级加密 (如 AES) 直接作用于图像比特流虽能保密, 但无法破坏图像在空间域的统计特征. 本项目采用 “Arnold 置乱 明文相关 Lo…...

移动Git客户端:Android上的完整版本控制解决方案

移动Git客户端&#xff1a;Android上的完整版本控制解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 在移动开发日益普及的今天&#xff0c;开发者需要在不同场景下管理代码版本。移动Git客户端MGit为Andro…...

Go语言微服务架构设计:从理论到实践

Go语言微服务架构设计&#xff1a;从理论到实践 引言 微服务架构已经成为现代软件架构的主流模式。Go语言凭借其高性能、轻量级和并发能力&#xff0c;成为构建微服务的理想选择。本文将深入探讨微服务架构的核心概念、Go语言实现策略&#xff0c;以及如何构建可扩展、高可用的…...

深度学习嵌入操作优化与DAE架构实践

1. 嵌入操作与DAE架构的核心挑战在深度学习推荐系统和图神经网络中&#xff0c;嵌入操作&#xff08;Embedding Operations&#xff09;占据了超过60%的计算时间。这类操作本质上是一种特殊的稀疏-密集张量乘法&#xff08;SpMM&#xff09;&#xff0c;其计算模式具有两个显著…...

【信息科学与工程学】计算机科学与自动化——第二百篇 综合类算法篇01

Net-B1-001 Transformer 推理引擎 列 内容 (对应“大规模预训练Transformer模型的推理与优化”) 编号​ Net-B1-001 类型​ AI推理与优化系统 领域​ 人工智能 / 深度学习 模块​ Transformer 推理引擎 内存模式【主内存/GPU内的内存/Soc中的内存/其他芯片中的内存】…...