Linux网络服务:SSH远程访问及控制2

目录

一、理论

1.构建密钥对验证的SSH体系

2.TCP Wrappers访问控制

二、实验

1.ecdsa免密连接

2.rsa免密连接


一、理论

1.构建密钥对验证的SSH体系

(1)免密连接原理

      ① 手动添加客户端的公钥到服务端

      ②  服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端

      ③  客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证

      ④ 服务端验证客户端发送来的随机字符串一致则同意建立连接

(2)SSH密钥对实现过程

      ① 在客户端创建密钥对

          ssh-keygen工具为当前用户创建密钥对文件,ssh-keygen命令的“-t”选项用于指定算法类型:

          可用的加密算法为:RSA、DSA、ECDSA

           生成ECDSA密钥命令:ssh-keygen -t ecdsa 

           生成RSA密钥命令:ssh-keygen -t rsa 

           生成DSA密钥命令:ssh-keygen -t dsa

      ②  将公钥文件上传至服务器

           ssh-copy-id -i id_ecdsa.pub 192.168.204.50

      ③   在服务器中导入公钥文本

      ④   在客户端使用密钥对验证

             ssh 192.168.204.50

表1 SSH密钥对验证的实现过程

步骤文件
由客户端的用户在本地创建密钥对

私钥文件:id_rsa(默认权限为600)

公钥文件:id_rsa.pub

上传公钥文件id_rsa.pub
导入公钥信息~/.ssh/authorized_keys
使用密钥对验证方式以服务端的用户身份进行登录

2.TCP Wrappers访问控制

(1)TCP Wrappers概述

TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并实现访问控制,凡是包含有libwrap.so库文件的的程序就可以受TCP_Wrappers的安全控制。它的主要功能就是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd,telnet。

(2)TCP Wrappers工作原理

      ① TCP_Wrappers有一个TCP的守护进程叫作tcpd。以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。

       ② 当有请求从远程到达本机的时候:

首先检查/etc/hosts.allow

如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件

没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问

如果在这两个文件中,都没有匹配到,默认是允许访问的

(3)TCP Wrappers配置文件

     ①  /etc/hosts.allow : 允许个别,拒绝所有

          sshd:ALL

          sshd:192.168.204.100

     ② /etc/hosts.deny : 允许所有,拒绝个别

           sshd:192.168.204.200

           sshd:192.168.204.0/24

           sshd:ALL

二、实验

1.ecdsa免密连接

(1) 搭建环境

centos 7系统虚拟机2台,配置关闭防火墙和selinux

客户端 192.168.204.200    服务端 192.168.204.50

(2在客户端生成ecdsa密钥文件

(3) 查看服务器密钥的默认位置

 (4) 将秘钥发送给服务器

 (5)验证免密登录

 (6) 退出登录

2.rsa免密连接

(1) 搭建环境

centos 7系统虚拟机2台,配置关闭防火墙和selinux

客户端 192.168.204.200    服务端 192.168.204.50

(2在客户端生成rsa密钥文件

(3) 查看服务器密钥的默认位置

 (4) 将秘钥发送给服务器

 (5)验证免密登录

 (6) 退出登录

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手机充电宝电子充气泵方案

该充气泵产品方案的运行原理是通过电动机将电能转化为机械能,带动电机做往复运动,从而产生大量压缩空气,达到快速充气的效果。该充气泵可用于气垫床、汽车轮胎、自行车轮胎、足球、游泳圈等各类充气物品。产品设计以人性化为主,简…

jQuery其他方法及插件使用

1. 拷贝对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…

学习c语言中的几道习题(小有难度)!

有兴趣的朋友可以看着题目自己做做&#xff0c;最后在和答案对比&#xff01;相信能力会有所提升的。我现在只是刚刚开始学习c语言&#xff0c;如果有什么说的不对的地方&#xff0c;网路过的大佬&#xff0c;及时予以指正。多谢&#xff01; 1、函数判断闰年 实现函数判断yea…

flowable的流程任务统计sql(续)

继续之前的文章&#xff0c;我们这里还需要进行按月统计&#xff0c;同时为了适应jeecg的图形显示&#xff0c;所以做了一些调整如下&#xff1a; 1、按月统计任务数量 select DATE_FORMAT(c.days, %Y%m) months, count(num) num from (SELECT DATE_FORMAT(START_TIME_, %Y-%m…

Niagara—— Events and Event Handlers

目录 一&#xff0c;Events 二&#xff0c;Event Handlers 多数情况下&#xff0c;系统中的发射器需相互交互&#xff0c;才能创建所需效果&#xff1b;意味着&#xff0c;一发射器生成数据&#xff0c;另一发射器监听该数据&#xff0c;以执行相应行为&#xff1b;在Niagar…

CentOS 系统上安装 Jenkins

#######################注意我这里安装jenkins版本要求实际是要安装jdk11版本的~~~我一开始弄错了 您可以按照以下步骤在 CentOS 上安装 JDK&#xff1a; 1. 首先&#xff0c;打开终端并使用 yum 命令更新系统软件包列表。输入以下命令来执行此操作&#xff1a; sudo yu…

TimSort——最快的排序算法

TimSort——最快的排序算法 排序算法是每个程序员绕不开的课题&#xff0c;无论是大学课程还是日常工作&#xff0c;都离不开排序算法。常见的排序算法有&#xff1a;冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、基数排序等。下面是这些算法性能的概…

【源码解析】EasyExcel导入导出源码解析

EasyExcel介绍 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存&#xff0c;poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题&#xff0c;但POI还是有一些缺陷&#xff0c;比如07版Excel解压缩以及解压后存储都…

动态规划-分割回文串 II

动态规划-分割回文串 II 1 题目描述2 示例2.1 示例 1&#xff1a;2.2 示例 2&#xff1a;2.3 示例 3&#xff1a;2.4 提示&#xff1a; 3 解题思路和方法3.1 解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件和边界情况3.1.4 计算顺序3.1.5 回文串的判断方法 3.2 算法代码实…

华为OD机试真题B卷 Java 实现【最长子字符串的长度】

一、题目描述 给你一个字符串s,字符串s首尾相连组成一个环形,请你在环形中找出‘o’字符出现了偶数次最长子字符串的长度。 二、输入描述 输入一串小写字母组成的字符串。 三、输出描述 输出一个整数。 四、解题思路 题目要求在给定的环形字符串中找出字符’o’出现了…

软件测试之-测试用例写作规范

软件测试用例得出软件测试用例的内容&#xff0c;其次&#xff0c;按照软件测试写作方法&#xff0c;落实到文档中&#xff0c;两者是形式和内容的关系&#xff0c;好的测试用例不仅方便自己和别人查看&#xff0c;而且能帮助设计的时候考虑的更周。 一个好的测试用例必须包含…

STL-queue和priority_queue的模拟实现

回顾 对于STL&#xff0c;我们已经知道了vector和list&#xff0c;而它们是STL中被称为六大组件之一的容器&#xff0c;我们还学习了模拟实现stack&#xff0c;而stack在STL中被称为六大组件之一的适配器&#xff0c;今天&#xff0c;我们来学习queue的模拟实现和priority_que…

java 课程信息管理系统Myeclipse开发mysql数据库struts2结构java编程计算机网页项目

一、源码特点 java 课程信息管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;使…

javascript基础五:深拷贝浅拷贝的区别?如何实现一个深拷贝?

一、数据类型存储 JavaScript中存在两大数据类型&#xff1a; 基本类型引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中&#xff0c;引用数据类型的变量是一个指向堆内存中实际对象的引用&#xff0c;存在栈中 二、浅拷贝 浅拷贝&#xff0c;指的是创建新…

( 数组) 209. 长度最小的子数组——【Leetcode每日一题】

❓209. 长度最小的子数组 难度&#xff1a;中等 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;…

在线Excel绝配:SpreadJS 16.1.1+GcExcel 6.1.1 Crack

前端&#xff1a;SpreadJS 16.1.1 后端&#xff1a; GcExcel 6.1.1 全能 SpreadJS 16.1.1此版本的产品中包含以下功能和增强功能。 添加了各种输入掩码样式选项。 添加了在保护工作表时设置密码以及在取消保护时验证密码的支持。 增强了组合图以将其显示为仪表图。 添加了…

Tugraph的设计和源码初步解析

1. Tugraph Tugraph是一款开源的性能优秀的图数据库&#xff0c;该图数据库使用多版本的BTree作为数据的存储引擎&#xff0c;同时设置了点边数据在这个存储引擎上的布局&#xff08;主要考虑数据的局部性&#xff09;&#xff0c;从而达到高性能查询的目的。本文主要从Tugrap…

研发工程师玩转Kubernetes——自动扩缩容

在《研发工程师玩转Kubernetes——使用Deployment进行多副本维护》一文中&#xff0c;我们通过Deployment实现了多副本维护——即维持在一个确定数量的副本个数。而在现实场景中&#xff0c;我们往往需要根据服务的压力&#xff0c;采用水平&#xff08;横向&#xff09;扩容的…

Springboot +spring security,前后端分离时的security处理方案(二)

一.简介 在前后端分离这样的开发模式下&#xff0c;前后端的交互都是通过 JSON 来进行数据传递的&#xff0c;无论登录成功还是失败&#xff0c;都不会有服务端跳转或者客户端跳转之类的操作。 也就是说无论登录成功还是失败&#xff0c;服务端都会返回一段登录成功或失败的 …

使用【Python+Appium】实现自动化测试

一、环境准备 1.脚本语言&#xff1a;Python3.x IDE&#xff1a;安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境&#xff0c;path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows&#xff0c;官网地址 Redirecting 点击下载按钮会到GitHub的…