linux sftp多个秘钥,Linux下sftp配置之密钥方式登录

2023-11-05

由于vsftp采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器。由于sftp使用的是ssh协议,需保证用户只能使用sftp,不能ssh到机器进行操作,且使用密钥登陆、不是22端口。

创建sftp服务用户组,创建sftp服务根目录

groupadd sftp

TIPS:此目录及上级目录的所有者必须为root,权限不高于755,此目录的组最好设定为sftp

mkdir /data/sftp

chown -R root:sftp /data/sftp

chmod -R 0755 /data/sftp

修改sshd配置文件

cp /etc/ssh/sshd_config,_bk} #备份配置文件

sed -i 's@#Port 22@Port 22@' /etc/ssh/sshd_config #保证原来22端口可以

vi /etc/ssh/sshd_config

注释掉/etc/ssh/sshd_config文件中的此行代码:

Subsystem sftp /usr/libexec/openssh/sftp-server

添加如下代码:

Port 2222

Subsystem sftp internal-sftp -l INFO -f AUTH

Match Group sftp

ChrootDirectory /data/sftp/%u

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp -l INFO -f AUTH

凡是在用户组sftp里的用户,都可以使用sftp服务;使用sftp服务连接上之后,可访问目录为/data/sftp/username

详细说明

est是一个sftp组的用户,它通过sftp连接服务器上之后,只能看到/data/sftp/test目录下的内容

test2也是一个sftp组的用户,它通过sftp连接服务器之后,只能看到/data/sftp/test2目录下的内容

创建sftp用户

#此例将创建一个名称为test的sftp帐号

#创建test sftp家目录:test目录的所有者必须是root,组最好设定为sftp,权限不高于755

mkdir /data/sftp/test

chmod 0755 /data/sftp/test

chown root:sftp /data/sftp/test

useradd -g sftp -s /sbin/nologin test #添加用户,参数-s /sbin/nologin禁止用户通过命令行登录

创建test用户密钥对:

# mkdir /home/test/.ssh

# ssh-keygen -t rsa

# cp /root/.ssh/id_rsa.pub /home/test/.ssh/authorized_keys

# chown -R test.sftp /home/test

在test目录下创建一个可以写的upload目录

mkdir /data/sftp/test/upload

chown -R test:sftp /data/sftp/test/upload

注:sftp服务的根目录的所有者必须是root,权限不能超过755(上级目录也必须遵循此规则),sftp的用户目录所有者也必须是root,且最高权限不能超过755。

测试sftp

service sshd restart

test用户密钥登陆如下图:

4926a790b522e7107e8a5db161102530.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux sftp多个秘钥,Linux下sftp配置之密钥方式登录 的相关文章

  • MySQL之DML

    1 添加数据 语法 insert into 表名 列名1 列名2 列名n values 值1 值2 值n 注意 1 列名和值要一一对应 2 如果表名后 不定义列名 则默认给所有列添加值 insert into 表名 values 值1 值2
  • 关于多线程爬取的加强练习

    多线程能够帮助我们提升爬取爬虫爬取的速度 上一篇文章我们也讲到了如何简单的使用多线程来爬取自己想要要去的东西 今天我们来加强以下 今天我们的目标是多线程爬取股票网站的信息 并保存成文件 本次保存文件的格式为txt 各位想保存别的格式也可以哦
  • 带vector<T>的模板函数

    若两个函数的逻辑相同 但参数类型不同 则可以把这2个函数合并为一个模板函数 有利于精简代码和提高可读性 比如 函数A 将CString的三个动态数组 vector
  • java 使用itextpdf工具实现HTML转PDF文件

    java 使用itextpdf工具实现HTML转PDF文件 本文转载https my oschina net 960823 blog 1588166内容 demo maven依赖包
  • Ubuntu16.04安装ROS时,sudo rosdep init报错,Error: cannot download default sources list from:

    安装ROS时需要安装rosdep 但是由于外网访问不了 所以访问不了https raw githubusercontent com 网站 因此在执行sudo rosdep init这一步时 会提示 如下图 ERROR cannot down
  • LINUX中常用操作命令

    Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机 重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记 www weixuehao com 来自 http ww
  • 5.1之前, 全局变量存储在_G这个table中, 这样的操作:5.3 lua_setupvalue

    5 1之前 全局变量存储在 G这个table中 这样的操作 a 1 相当于 G a 1 但在5 2之后 引入了 ENV叫做环境 与 G全局变量表产生了一些混淆 需要从原理上做一个理解 在5 2中 操作a 1 相当于 ENV a 1 这是一个
  • 使用ElasticLunr.js进行客户端搜索

    任何博客或文档网站都需要搜索功能 您可以通过多种方式实现这一目标 并且很可能会选择服务器端解决方案 但是 如果您不想处理任何后端 则可以通过lunr js在客户端实现所有后端 几年前 我首次发现Lunr js 但自从我决定使用服务器端选项
  • centos部署openvas

    开放式漏洞评估系统OpenVAS Open Vulnerability Assessment System OpenVAS是开放式漏洞评估系统 也可以说它是一个包含着相关工具的网络扫描器 其核心部件是一个服务器 包括一套网络漏洞测试程序 可
  • 23062C++&QT day2

    封装一个结构体 结构体中包含一个私有数组 用来存放学生的成绩 包含一个私有变量 用来记录学生个数 提供一个公有成员函数 void setNum int num 用于设置学生个数 提供一个公有成员函数 void input 用来对所有学生的成
  • phpstorm如何回滚。并取消本地提交

    1 现在我提交到本地 当前git版本为4b53dca9 上一版本为965cdf14 2 现在执行回滚操作 取消本地提交 版本复制到这里 点击reset就会回滚了 如需使用git命令操作 请参考链接https blog csdn net qq
  • Java 堆排序(大顶堆、小顶堆)

    引用 http lib csdn net article datastructure 8973 堆排序 Heapsort 是指利用堆这种数据结构所设计的一种排序算法 堆积是一个近似完全二叉树的结构 并同时满足堆积的性质 即子结点的键值或索引
  • 欧几里德求最大公约数

    欧几里德求最大公约数也是就辗转相除法 是最基础最简单的算法之一 求最大公约数 int gcd1 int a int b if a lt b swap a b return b 0 a gcd1 b a b int gcd2 int a in
  • 几款国产FPGA系列器件参数汇总

    以下是和厂商确认以及个人在各公司官网上获取的产品参数 部分产品价格可用作参考 价格实时变动 只能作参考 1 高云半导体 FPGA 器件型号 逻辑查找表 RAM资源 I O资源 pll 触发器资源 嵌入式内核 易失性 价格 晨熙系列 GW2A
  • 【并查集】黑魔法师之门

    黑魔法师之门 magician pas c cpp 题目描述 经过了16个工作日的紧张忙碌 未来的人类终于收集到了足够的能源 然而在与Violet星球的战争中 由于Z副官的愚蠢 地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Vio
  • 微信小程序使用web-view引入了vue页面,再从vue页面跳转到微信小程序页面

    在vue项目中引入weixin js sdk插件 npm i weixin js sdk save 在vue组件中引入 import wx from weixin js sdk 跳转微信小程序普通页面 wx miniProgram navi
  • 还不会gdb?看这一篇就够了

    目录 gdb是什么 它有啥威力 gdb常用命令 gdb实战 基本使用 解决coredump 总结 大家好 我是小李 今天这一篇博客来跟大家介绍一个非常有用的工具 gdb 不管是学习还是工作中 用好gdb 能让你的程序更加丝滑 gdb是什么
  • react+ant design pro+dva项目阶段型总结(不定时更新)

    1 如果你熟悉 HTML 那么 JSX 对于你来说是没有任何压力的 因为 HTML 中的所有标签 在 JSX 中都是支持的 基本上没有学习成本 只有如下几点略微的不同 class 属性变为 className tabindex 属性变为 t
  • JAVA电商 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城 直播商城 短视频商城 springcloud商城 spring cloud商城

    1 涉及平台 平台管理 商家端 PC端 手机端 买家平台 H5 公众号 小程序 APP端 IOS Android 微服务平台 业务服务 2 核心架构 Spring Cloud Spring Boot Mybatis Redis 3 前端框架

随机推荐

  • Mathsphere Latex产品介绍

    需求描述 对于工科生和从事科研工作的同学而言 他们在写作过程中可能需要编辑数学公式 本文将介绍一款好用的Latex公式编辑器 Mathsphere Latex Mathsphere Latex 简介 Mathsphere Latex是一款基
  • bootloader 详细介绍

    Bootloader 对于计算机系统来说 从开机上电到操作系统启动需要一个引导过程 嵌入式Linux系统同样离不开引导程序 这个引导程序就叫作Bootloader 6 1 1 Bootloader介绍 Bootloader是在操作系统运行之
  • 【VIM配置文件】

    1 vim配置文件在 vimrc中 设置完成后保存source即生效 2 插件安装 1 先下载plug vim文件 放置在 vim autoload目录下 下载命令 curl O https raw githubusercontent co
  • 了解typename的双重意义

    1 声明template参数时 前缀关键字class和typename可互换 2 请使用关键字typename表示嵌套从属类型名称 但不得在base class lists 基类列 或member initialization list 成
  • UART的Rx和Tx引脚如何互换,电平如何反转( SWAP-交换算法)

    今天给大家分享关于STM32关于UART的一些新特性 主要针对较新系列STM32 如 STM32H7 F0 G0 G4等 的UART 可通过软件改变Rx和Tx引脚 电平反转 高低反序 介绍超时等 有些时候 我们在外接RS232芯片时 会犯这
  • libdbus 实例以及使用d-feet查看接口方法

    libdbus 实例以及使用d feet查看接口方法 libdbus介绍 总线 linux系统进程间通过dbus通信 D BUS由总线构成 总线分为两种 系统总线 system bus 和会话总线 session bus 系统总线在引导时就
  • 关于win10系统system_service_exception蓝屏(hardwareprotect_x64.sys)

    hardwareprotect x64 sys报错蓝屏主要是由win10系统更新后 系统与鲁大师不兼容 win10会将鲁大师下hardwareprotect x64 sys文件映射到系统文件 导致报错蓝屏 建议在第一次报错蓝屏后 就删除鲁大
  • layui文件上传+ThinkPHP5.1

    引入文件 1 前端html代码
  • 逻辑回归分类器(Logistic Regression Classifier)

    Logistic regression 逻辑回归 是当前业界比较常用的机器学习方法 用于估计某种事物的可能性 也用来进行分类 在分类的情形下 经过学习之后的LR分类器其实就是一组权值w0 w1 wm 当输入测试样本集中的测试数据时 这一组权
  • 元组,字典,集合

    元组 字典 集合的基本操作 python 元组 tuple 基本操作 元组被称为只读列表 数据可被查询 但不能被修改 类似于列表的切片操作 元组写在小括号里面 元素之前用逗号隔开 对于一些不想被修改的数据 可以用元组来保存 创建元组 1 创
  • ModbusRTU协议封装,控制RJ45报警器,复制一下就能用哦~

    本文只对 写保持寄存器 HoldingRegister 做操作 其他类型的寄存器方法方法也在ModbusWriteOrRead类中 可自行测试 报警器设备型号 USB版 JD01AX07 01 设备外观及亮灯 文档说明 部分 注 以下图第一
  • Matlab桌面启动失败java.lang.​NullPointe​rException

    最全的解决方案集合 考虑到之前安装CubeMX时装了java 而Matlab底层是Java 先拿第四条试 成功了 然后删掉改动的部分 nodesktop nojvm再重启 也能用了
  • React event.preventDefault使用方法

    event preventDefault 定义和用法 取消事件的默认动作 简单看一下下面代码 class NameForm extends React Component constructor props super props this
  • 基于布谷鸟优化LSTM的短时电力负荷预测

    0 引言 短期电力负荷预测是电力系统安全调度 经济运行的重要依据 随着电力系统的市场化 负荷预测的精度直接影响到电力系统运行的可靠性 经济性和供电质量 LSTM 为短期电力负荷预测提供了一个新的研究方向 本文将LSTM用于短期电力负荷预测
  • css 上下左右居中的几种方法

    html结构 div class father div class son div div 1 父元素宽高固定 子元素宽高固定 那么子元素可以通过上 左右的固定margin left 父元素宽度 子元素宽度 2 margin top 父元素
  • Spring Data Elasticsearch 3.13 操作摘要

    1 4 7 异步查询结果 可以使用Spring的异步方法执行功能异步运行存储库查询 这意味着该方法在调用时立即返回 而实际的查询执行发生在已提交给Spring的任务中TaskExecutor 异步查询执行与响应式查询执行不同 不应混合使用
  • 软件架构模式-读书笔记(4)-微服务架构

    微服务架构模式作为替代单体应用和面向服务架构的一个可行的选择 在业内迅速取得进展 微服务架构的每个组件都作为一个独立单元进行部署 让每个单元可以通过有效 简化的传输管道进行通信 同时它还有很强的扩展性 应用和组件之间高度解耦 使得部署更为简
  • windows7 安装mongodb

    本文转载至 https blog csdn net qq 27093465 article details 54574948 注意这个安装的位置 下面要用呢 图上的说的是刚刚安装完的时候的样子 打错字啦 1 创建几个文件夹具体如下 数据库路
  • 5.12 QQ群里的第二次线下活动

    author skate time 2013 05 14 5 12 QQ群里的第二次线下活动 分享主题 大数据hadoop 1 5小时 分享人 袁科 完美世界系统中心 长期从事大数据处理技术工作 对分布式系统开发 监控 配置 维护比较感兴趣
  • linux sftp多个秘钥,Linux下sftp配置之密钥方式登录

    由于vsftp采用明文传输 用户名密码可通过抓包得到 为了安全性 需使用sftp 锁定目录且不允许sftp用户登到服务器 由于sftp使用的是ssh协议 需保证用户只能使用sftp 不能ssh到机器进行操作 且使用密钥登陆 不是22端口 创