Linux网络--- SSH服务

一、ssh服务简介

1、什么是ssh

        SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

2、ssh协议

  • SSH(Secure Shell):SSH是一种加密网络协议,用于通过安全通道在不安全网络上进行远程访问和管理。它提供了加密的通信会话,包括远程登录和执行命令,以及传输文件等功能
  • Telnet:虽然不安全,但仍然被用于远程登录到服务器或设备,通常用于简单的文本交互

1.ssh的作用

SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务(文件传输功能)

2.ssh的优点

数据传输是加密的,可以防止信息泄露

数据传输是压缩的,可以提高传输速度

3.常用的ssh软件介绍

SSH 客户端:finalshell  xshell  putty

   secureCRT   MobaXterm

SSH 服务端:openSSH (Centos 7 默认安装)

4.openSSH 服务器配置文件

服务名称:sshd
服务端主程序:/usr/sbin/sshd  
服务端配置文件:/etc/ssh/sshd_config 
客户端配置文件:/etc/ssh/ssh_config

openSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。

执行“systemctl start sshd”命令即可启动sshd服务。默认端口使用的22端口

存放公钥的位置:

3、公钥传输原理:

① 客户端发起连接请求

② 服务端返回自己的公钥以及一个会话id(此处客户端得到服务端的公钥)

③ 客户端生成密钥对

④ 客户端用自己的公钥异或会话id,计算出一个值res,并用服务端的公钥加密

⑤ 客户端发送加密值到服务端,服务端用私钥解密,得到res

⑥ 服务端用解密后的值res异或会话id,计算出客户端的公钥(此处服务端得到客户端公钥)

⑦ 最终:双方各自持有三个密钥,分别为自己的一对公钥、私钥,以及对方的公钥,之后所有的通讯都会被加密。

4、加密通讯原理

1、对称加密

1. 概念

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。

2.常用算法

对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

3. 特点

1、加密方和解密方使用同一个密钥;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;

4. 优缺点

优点:算法公开、计算量小、加密速度快、加密效率高

缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

2、非对称加密

1. 概念

        非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

2. 常用算法

RSA:目前使用最广泛的算法

DSA:数字签名算法,和 RSA 不同的是 DSA仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快

ECC(椭圆曲线加密算法)

ECDSA:椭圆曲线签名算法,是ECC和 DSA的结合,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障

3. 原理

        首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下。

4. 优缺点

相比于对称加密技术,非对称加密技术安全性更好,但性能更慢

二、SSH的配置

在linux中实现ssh,是通过opsnSSH的sshd服务提供的

1、服务端配置文件

/etc/ssh/sshd_config

服务端配置

2、客户端配置文件

/etc/ssh/ssh_config

1.首次连接

2.连接到指定的用户

3.修改端口号

4.用指定的端口号登录

3、跳板机

1.远程登录加命令操作

三、黑白名单

1、白名单

1.配置白名单的文件

2、黑名单配置

四、修改默认端口

五、阻止用户登录

 1、修改pam认证为了阻止用户登录

六、ssh实践

建议使用非默认端口 22

禁止使用protocol version 1

限制可登录用户 白名单

设定空闲会话超时时长

利用防火墙设置ssh访问策略

仅监听特定的IP地址 公网 内网

基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| xargs

使用基于密钥的认证

禁止使用空密码

禁止root用户直接登录

限制ssh的访问频度和并发在线数

经常分析日志 分离

如果有一天登录ssh变得非常非常慢,请禁用反向解析

七、进行免密登录

检验是否免密登录

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

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

相关文章

Spring使用注解管理Bean

引入lib包 Spring对Bean管理的常用注解 Component组件(作用在类上) Spring中提供了Component的三个衍生注解:(功能在目前为止是一致的) Controller WEB层 Service 业务层 Repository 持久层 属性注入的注解:(使用注解注入的方式,可以不用提供set方法) Value 用于注入普…

powershell的help

打开win10 的powershell窗口&#xff0c;输入help命令&#xff0c;可以得到如下说明&#xff1a; 有了help系统&#xff0c;可以方便地了解关于powershell的详细说明。

Java异常处理--异常处理的方式2:throws

文章目录 一、方式2&#xff1a;声明抛出异常类型&#xff08;throws&#xff09;二、throws基本格式三、 throws 使用举例&#xff08;1&#xff09;针对于编译时异常1、案例12、案例2 &#xff08;2&#xff09;针对于运行时异常 四、 方法重写中throws的要求&#xff08;1&a…

当代大学生是怎么被废掉的?

中式教育以应试为核心&#xff0c;强调知识的灌输和学生被动接受。随着社会的发展&#xff0c;中式教育的短板逐渐显现&#xff0c;创新能力的缺乏、对记忆的过度依赖、忽视个体差异等问题日益突出。 建议所有大学生都能去看看《上海交通大学生存手册》&#xff0c;它道出了中…

AbstractHttpMessageConverter + easyexcell优雅下载附件

介绍 AbstractHttpMessageConverter 是 Spring 框架中用于处理 HTTP 消息转换的抽象基类。它用于处理来自 HTTP 请求的消息,并将其转换为特定的 Java 对象,或者将 Java 对象转换为 HTTP 响应消息。 这个抽象类允许开发人员创建自定义的 HTTP 消息转换器,以便在 Spring MVC…

如何提高发电机组带载能力

发电机组的带载能力是指其在一定时间内能够稳定运行的最大负载。提高发电机组的带载能力&#xff0c;不仅可以提高其工作效率&#xff0c;还可以延长其使用寿命。 优化发电机组的设计&#xff1a;通过改进发电机组的设计&#xff0c;可以提高其带载能力。例如&#xff0c;可以采…

MongoDB面试系列-01

1. MongoDB 是什么&#xff1f; MongoDB是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。再高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。MongoDB旨在给Web应用提供可扩展的高性能数据存储解决方案。 MongoDB将数据存储…

手把手教你学会接口自动化系列十五-如何用python操作excel的单元格自动化测试之前的准备工作

接上篇,我们都知道可以读取到sheet页了,下来就是读取sheet页下面的单元格数据 我们实践起来吧。 第一种方式是通过坐标的方式,比如我要取下面这个单元格的数据,如下: 这个数据位于Excel的B列第8行,所以对于excel来说就是坐标为B8。 代码如下: # !/usr/bin/env pytho…

LLM:Scaling Laws for Neural Language Models (中)

核心结论 1&#xff1a;LLM模型的性能主要与计算量C&#xff0c;模型参数量N和数据大小D三者相关&#xff0c;而与模型的具体结构 (层数/深度/宽度) 基本无关。三者满足: C ≈ 6ND 2. 为了提升模型性能&#xff0c;模型参数量N和数据大小D需要同步放大&#xff0c;但模型和数…

【生态适配】亚信安慧AntDB数据库与契约锁完成兼容互认

日前&#xff0c;亚信安慧AntDB数据库与上海亘岩网络科技有限公司&#xff08;简称:契约锁&#xff09;研发的契约锁电子签章产品完成兼容互认。经过双方团队的严格测试&#xff0c;亚信安慧AntDB数据库与契约锁&#xff08;V4&#xff09;完全兼容&#xff0c;整体运行稳定高效…

一天吃透Spring面试八股文

目录&#xff1a; Spring的优点Spring 用到了哪些设计模式&#xff1f;什么是AOP&#xff1f;AOP有哪些实现方式&#xff1f;Spring AOP的实现原理JDK动态代理和CGLIB动态代理的区别&#xff1f;Spring AOP相关术语Spring通知有哪些类型&#xff1f;什么是IOC&#xff1f;IOC的…

L1-027 出租(Java)

下面是新浪微博上曾经很火的一张图&#xff1a; 一时间网上一片求救声&#xff0c;急问这个怎么破。其实这段代码很简单&#xff0c;index数组就是arr数组的下标&#xff0c;index[0]2 对应 arr[2]1&#xff0c;index[1]0 对应 arr[0]8&#xff0c;index[2]3 对应 arr[3]0&…

鸿蒙开发之手势Pan

Entry Component struct OfficialPanGesturePage {State message: string 默认只左右移动State offsetX: number 0State offsetY: number 0State positionX: number 0State positionY: number 0//默认pan的参数&#xff0c;1根手指&#xff0c;左右方向private panOption:…

什么是泛域名证书?有免费的吗?

泛域名证书&#xff08;Wildcard SSL Certificate&#xff09;是一种用于加密多个子域名的SSL证书。与传统的SSL证书只能覆盖单个域名或特定子域不同&#xff0c;泛域名证书具有更广泛的适用性&#xff0c;可以涵盖一个域名下的所有子域。 泛域名证书的主要特点是通配符&#x…

华为数通方向HCIP-DataCom H12-831题库(判断题:1-20)

第01题 为了加快IS-IS网络中链路故障的感知速度,可以将IS-IS与BFD联动 正确 错误 答案:正确 解析: OSPF和IS-IS都可以设置与BFD联动加速链路故障检测 ,使用BFD时,可以实现毫秒级别的链路切换,所以使用IS–IS与BFD联动,可以加快IS–IS的感知速度 第02题 在OSPF中ABR会将…

关于整型提升与截断的一道题目

关于整型提升与截断&#xff0c;可以看我的博客 C语言&#xff1a;整型提升_c语言整形提升-CSDN博客 C语言&#xff1a;截断整型提升算数转换练习_c语言unsigned-CSDN博客 一、题目 二、题解 char a101截断 由于101是整型数据&#xff0c;需要32比特位存储空间&#xff0c;…

1.12号网络

1 网络发展历史 1.1 APRAnet阶段 阿帕网&#xff0c;是Interne的最早雏形 不能互联不同类型的计算机和不同类型的操作系统 没有纠错功能 1.2 TCP/IP两个协议阶段 什么是协议 在计算机网络中&#xff0c;要做到有条不紊的交换数据&#xff0c;需要遵循一些事先约定好的规则…

Java多线程并发篇----第十六篇

系列文章目录 文章目录 系列文章目录前言一、线程等待(wait)二、线程睡眠(sleep)三、线程让步(yield)四、线程中断(interrupt)五、Join 等待其他线程终止前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

【java八股文】之JVM基础篇

【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博…

CentOS7安装MySQL 错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)

问题如图所示 运行一下命令解决 yum -y remove mariadb-libsyum install mysql-community-server