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

RHCE第三次笔记SSH

第三章 远程连接服务器

1、远程连接服务器简介

1)什么是远程连接服务器

远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录 linux 主机以取得可操作主机接口(shell ),而登录后的操作感觉就像是坐在系统前面一样。

2)远程连接服务器的功能

分享主机的运算能力

3)远程连接服务器的类型(以登录的连接界面来分类)

文字接口
明文传输: Telnet RSH 等,目前非常少用
加密传输: SSH 为主,已经取代明文传输
图形接口: XDMCP VNC XRDP

4)文字接口连接服务器

SSH Secure Shell Protocol ,安全的壳程序协议)它可以通过数据包加密技术将等待传输的数据包加密后再传输到网络上。ssh 协议本身提供两个服务器功能:一个是类似 telnet 的远程连接使用 shell 的服务器;另一个就是类似ftp 服务的 sftp-server ,提供更安全的 ftp 服务。

2、连接加密技术简介

目前常见的网络数据包加密技术通常是通过 非对称密钥系统 来处理的。主要通过两把不一样的公钥与
私钥来进行加密与解密的过程 。
公钥( public key ):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密。
私钥( private key ):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥
只有自己拥有。
SSH 工作过程:在整个通讯过程中,为实现 SSH 的安全连接,服务端与客户端要经历如下五个阶段:

1)版本协商阶段

1 、服务器端打开端口 22 ,等待客户端连接;
2 、客户端向服务器端发起 TCP 初始连接请求, TCP 连接建立后,服务器向客户端发送第一个报文,包括版
本标志字符串,格式为 “SSH-< 主协议版本号 >.< 次协议版本号 >.< 软件版本号 >” ,协议版本号由主版本号
和次版本号组成,软件版本号主要是为调试使用。
3 、客户端收到报文后,解析该数据包,如果服务器的协议版本号比自己的低,且客户端能支持服务器端的
低版本,就使用服务器端的低版本协议号,否则使用自己的协议版本号。
4 、客户端回应服务器一个报文,包含了客户端决定使用的协议版本号。服务器比较客户端发来的版本号,
决定是否能同客户端一起工作。如果协商成功,则进入密钥和算法协商阶段,否则服务器断开 TCP 连接。
说明:上述报文都是采用明文方式传输。

2)密钥和算法协商阶段

1 、服务器端和客户端分别发送算法协商报文给对端,报文中包含自己支持的公钥算法列表、加密算法列
表、 MAC Message Authentication Code ,消息验证码)算法列表、压缩算法列表等等。
2 、服务器端和客户端根据对端和本端支持的算法列表得出最终使用的算法。
3 、服务器端和客户端利用 DH 交换( Diffie-Hellman Exchange )算法、主机密钥对等参数,生成会话
密钥和会话 ID
由此,服务器端和客户端就取得了相同的会话密钥和会话 ID 。对于后续传输的数据,两端都会使用会话密
钥进行加密和解密,保证了数据传送的安全。在认证阶段,两端会使用会话用于认证过程。

3)认证阶段

SSH 提供两种认证方法:
基于口令的认证( password 认证):客户端向服务器发出 password 认证请求,将用户名和密码加密后发
送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行比较,
并返回认证成功或失败消息。
基于密钥的认证( publickey 认证):客户端产生一对公共密钥,将公钥保存到将要登录的服务器上的那
个账号的家目录的 .ssh/authorized_keys 文件中。认证阶段:客户端首先将公钥传给服务器端。服务
器端收到公钥后会与本地该账号家目录下的 authorized_keys 中的公钥进行对比,如果不相同,则认证
失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户
端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一
样,则认证通过,否则,认证失败。
注:服务器端对客户端进行认证,如果认证失败,则向客户端发送认证失败消息,其中包含可以再次认证
的方法列表。客户端从认证方法列表中选取一种认证方法再次进行认证,该过程反复进行。直到认证成功
或者认证次数达到上限,服务器关闭连接为止。

3ssh服务配置

[root@server1 ~]# vim /etc/ssh/sshd_config
17.#Port 22 #监听端口,默认监听22端口 【默认可修改】
18.#AddressFamily any #IPV4和IPV6协议家族用哪个,any表示二者均有
19.#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址 【默认可修改】
20.#ListenAddress :: #指明监听的IPV6的所有地址格式
28.HostKey /etc/ssh/ssh_host_rsa_key # rsa私钥认证 【默认】
29.#HostKey /etc/ssh/ssh_host_dsa_key # dsa私钥认证
30.HostKey /etc/ssh/ssh_host_ecdsa_key # ecdsa私钥认证
31.HostKey /etc/ssh/ssh_host_ed25519_key # ed25519私钥认证
43.SyslogFacility AUTHPRIV #当有人使用ssh登录系统的时候,SSH会记录信息,信息保存
在/var/log/secure里面
48.#LoginGraceTime 2m #登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
49.#PermitRootLogin yes #是否允许管理员远程登录,'yes'表示允许
51.#MaxAuthTries 6 #最大认证尝试次数,最多可以尝试6次输入密码。之后需要等待某段时间后才
能再次输入密码
52.#MaxSessions 10 #允许的最大会话数
59.AuthorizedKeysFile .ssh/authorized_keys #选择基于密钥验证时,客户端生成一对公私
钥之后,会将公钥放到.ssh/authorizd_keys里面
79.PasswordAuthentication yes #是否允许支持基于口令的认证
83.ChallengeResponseAuthentication no #是否允许使用键盘输入身份验证,也就是xshell
的第三个登录方式
129.#UseDNS yes #是否反解DNS,如果想让客户端连接服务器端快一些,这个可以改为no
146.Subsystem sftp /usr/libexec/openssh/sftp-server #支持 SFTP ,如果注释掉,则
不支持sftp连接
154.AllowUsers user1 user2 #登录白名单(默认没有这个配置,需要自己手动添加),允许远程
登录的用户。如果名单中没有的用户,则提示拒绝登录

4、用户登录ssh服务器

实验1:修改ssh服务的端口号

#修改ssh服务的端口号
[root@server1 ~]# vim /etc/ssh/sshd_config
Port 2222
[root@server1 ~]# systemctl disable --now firewalld
[root@server1 ~]# setenforce 0
[root@server1 ~]# getenforce
Permissive
[root@server1 ~]# systemctl restart sshd

实验2:拒绝root用户远程登陆

#请保持服务器上至少有一个可以远程登陆的普通远程账号
#修改配置文件如下:
#打开该选项并修改参数为no
PermitRootLogin no
#重启服务后生效,使用时使用普通用户进行登陆,需要使用root用户时再切换
#说明:注意新版本rhel9中的/etc/ssh/sshd_config和/etc/ssh/sshd_config.d/*.conf中的
配置

实验3:允许特定用户ssh登陆,其他用户都无法登陆

#编辑配置文件,在最后添加如下内容:
AllowUsers USERNAME
#USERNAME为你允许登陆的账号【需要在系统中useradd该账号】,如果是多个用户,中间用空格隔开
#重启ssh服务后生效

实验4linux客户端通过秘钥登录linux服务端root用户

#创建密钥对
[root@web ~]# ssh-keygen -t rsa
ssh-keygen 生成、管理和转换认证密钥 -t制定类型 RSA
/root/.ssh/id_rsa私钥文件
/root/.ssh/id_rsa.pub公钥文件
#复制该公钥文件到服务端的该目录下
[root@web ~]# ssh-copy-id root@192.168.40.132
#在本地服务器上登陆对端服务器
[root@web ~]# ssh root@192.168.40.132

相关文章:

RHCE第三次笔记SSH

第三章 远程连接服务器 1、远程连接服务器简介 &#xff08;1&#xff09;什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录 linux 主机以取得可操作主机接口&#xff08;shell &#xff09;&#xff0c;而登录后…...

JAVA基础-包装类

文章目录 包装类1 概述2 Integer类2.1 Integer类构造方法2.2 Integer类成员方法 3 基本类型与字符串之间的转换3.1 基本类型转换为String3.2 String转换成基本类型 4 底层原理 第六章&#xff1a;算法小题练习一&#xff1a;练习二&#xff1a;练习三&#xff1a;练习四&#x…...

复合逻辑运算与复合逻辑门

或非门&#xff08;NOR gate&#xff09; 是一种基本的逻辑门&#xff0c;它结合了“或”&#xff08;OR&#xff09;和“非”&#xff08;NOT&#xff09;操作。或非门的输出是输入信号的否定&#xff0c;只有在所有输入都为零时&#xff0c;输出才为一。 与非运算&#xff0…...

工厂模式~

现实世界中的例子 考虑一个招聘经理的情况。一个人不可能为每一个职位都进行面试。根据职位空缺&#xff0c;她必须决定并将面试步骤委托给不同的人。 用简单的话来说 它提供了一种将实例化逻辑委托给子类的方法。 维基百科的解释 在基于类的编程中&#xff0c;工厂方法模式是…...

Elasticsearch基本使用及介绍

Elasticsearch 1. 关于各种数据库的使用 关于MySQL&#xff1a;是关系型数据库&#xff0c;能清楚的表示数据之间的关系&#xff0c;并且&#xff0c;是基于磁盘存储的&#xff0c;可以使用相对较低的成本存储大量的数据 关于Redis&#xff1a;是基于K-V结构的在内存中读写数…...

10. PH47代码框架文件组织

通过之前章节对PH47体系的介绍&#xff0c;读者对PH47能建立起了初步的概念及掌握各主要构成部分的使用开发方法。从本章节开始&#xff0c;就将对PH47代码的二次开发内容进行具体讲述。 本部分就将对PH47框架当中代码文件的组织方式及功能作用进行介绍&#xff0c;对于将来熟…...

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…...

4.8 大数据发展趋势

文章目录 今天&#xff0c;我想与大家探讨一个充满潜力和变革的主题——大数据的发展趋势。大数据不仅正在改变我们的工作和生活方式&#xff0c;更是推动社会进步和经济发展的关键因素。 首先&#xff0c;让我们看看国内的大数据发展趋势。中国政府高度重视大数据产业&#x…...

【无标题】react组件封装

子组件制作 import { useState,useRef, useEffect} from "react"const Table (data)> {const {value ,option} dataconsole.log(value)const [stata,setValue] useState()const useRefs useRef(value)useEffect(()> {useRefs.current.value value })c…...

git+cmake将Open3D配置到visual studio

这里假设你已经安装好了上述内容&#xff0c;我们直接开始安装&#xff1a; 第一步&#xff1a;以管理员身份打开powershell&#xff0c;执行 git clone https://github.com/isl-org/Open3D.git然后依次执行 cd Open3D mkdir build cd build开启你的梯子&#xff0c;并设置你…...

ArcGIS-CityEngine 2024-新手小白也能试用+入门可视化vga编程--第一篇

目录 下载CityEngine并创建空项目 场景双击 _Tour &#xff08;Navigator面板)的就行了&#xff0c;&#xff08;不用额外下载&#xff09; 生成街道 基本操作 多个图层Group 区分 Editor 多个区域&#xff08;插件模式&#xff0c;浮空窗口&#xff0c; 官方的例子&…...

IntelliJ IDEA 快捷键大全(也适用全家桶其他编辑器)

以下是 IntelliJ IDEA 的常用功能快捷键大全&#xff0c;适用于 Windows/Linux 系统&#xff08;Mac 用户可将 Ctrl 替换为 Cmd&#xff0c;Alt 替换为 Option&#xff09;&#xff1a; 功能分类功能描述快捷键 (Windows/Linux)基本操作显示所有快捷键Ctrl J显示主菜单Alt H…...

基于SSM高校普法系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;律师管理&#xff0c;法律知识管理&#xff0c;新闻类型管理&#xff0c;法律新闻&#xff0c;律师推荐管理 律师账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xf…...

CDN加速流程分享

我们有IP,我们需要用CDN的阿里云进行加速&#xff0c;让网站的视频显示的更加流畅 首先&#xff0c;我们面对的第一个问题就是把ip解析成域名的形式&#xff0c;我们这里的域名是 edu.senhacore.xyz 解释一下为什么要变成域名才行&#xff0c;因为国内要使用cdn就必须把ip转…...

全网爆火的排队免单模式究竟是如何运作?

在私域平台的探索过程中&#xff0c;许多企业主尝试了链动21、推三返一等裂变模式。虽然这些模式在某些情况下取得了显著成效&#xff0c;但也有不少企业反映难以推广。问题的核心在于客户的购买意愿不足&#xff0c;市场动力缺乏。仅仅依靠推广团队的积极裂变是不够的&#xf…...

Excel:vba实现批量修改文件名

原文件名&#xff1a;修改后的文件名&#xff1a; Sub test() 我这里只定义了一个cell,其余的我没有定义 Dim cell As Range清空 A 列中所有的内容,确保之前的数据不会影响到后续的操作 [a:a].Clear获取文件加的名字&#xff0c;这里的dir函数只返回一个文件名,即该文件下的第…...

【数据分享】中国历史学年鉴(1979-2001)

数据介绍 目录如下&#xff1a; 特稿 2000年国际历史科学大会 史学研究 史学理论 西周春秋战国史 秦汉史 魏晋南北朝史 隋唐五代史 宋史 辽西夏金史 蒙元史 明史 清史 晚清政治史 近代文化史 中外关系史 近代经济史 近代社会史 近代思想史 民国政治史 世…...

ubuntu系统启动wmplayer提示vmware unable to install all modules的处理方法

1. 终端中输入下面的命令查看vmplayer版本 vmplayer -v 2. git clone https://github.com/mkubecek/vmware-host-modules.git 3. cd vmware-host-modules 4. make 5. sudo make install...

数据库原理与应用(基于MySQL):实验六数据查询

实验6.1 对学生实验数据库(stuexpm)的学生信息表(StudentInfo)和成绩信息表(Scorelnfo)进行信息查询,编写和调试查询语句的代码,完成以下操作 (1)使用两种方式查询Studentlnfo表的所有记录 ①使用列名表。 ② 使用*. use stuexpm;select StudentID,Name,Sex,Birthday,Specia…...

【java面经thinking】二

目录 redis了解 使用原因 应用场景 数据类型 redis事务 数据持久化 RDB(快照)&#xff1a; AOF(即时更新)&#xff1a; 选择方式&#xff1a; redis快速的原因 redis单线程 单机瓶颈 经典3问 参考博客 redis了解 缓存中间件 使用原因 缓解高并发、提升高可用。…...

正规方程推导,详细版

推导正规方程&#xff08;Normal Equation&#xff09;通常是在线性回归的上下文中进行的。线性回归的目标是找到一个线性模型 h θ ( x ) θ T x h_\theta(x) \theta^T x hθ​(x)θTx&#xff0c;使得模型的预测值与实际值之间的差异&#xff08;通常是均方误差&#xff0…...

【原创】java+ssm+mysql在线文件管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…...

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x&#xff0c;FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目&#xff0c;根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…...

UICollectionView 的UICollectionReusableView复用 IOS18报错问题记录

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath 方法复用报错 报错详情&#xff1a; Terminating app due to uncaught exception NSInternal…...

Ansible Roles与优化

Ansible Roles与优化 Ansible作为一款自动化运维工具&#xff0c;凭借其简洁的语法、强大的功能以及良好的扩展性&#xff0c;在IT运维领域得到了广泛应用。Ansible Roles作为Ansible的核心特性之一&#xff0c;为自动化部署和管理提供了极大的便利。本文将深入探讨Ansible Ro…...

Ubuntu 22.04上安装Miniconda

在Ubuntu 22.04上安装Miniconda&#xff0c;可以按照以下步骤进行&#xff1a; 步骤1&#xff1a;更新系统 首先&#xff0c;更新您的系统软件包&#xff1a; sudo apt update sudo apt upgrade -y步骤2&#xff1a;下载Miniconda安装脚本 访问Miniconda的官方网站或使用以下…...

【MySQL】入门篇—SQL基础:数据定义语言(DDL)

数据定义语言&#xff08;DDL&#xff0c;Data Definition Language&#xff09;是SQL&#xff08;结构化查询语言&#xff09;的一部分&#xff0c;主要用于定义和管理数据库的结构。 DDL允许用户创建、修改和删除数据库及其对象&#xff08;如表、索引、视图等&#xff09;。…...

电影评论网站开发:Spring Boot技术详解

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了电影评论网站的开发全过程。通过分析电影评论网站管理的不足&#xff0c;创建了一个计算机管理电影评论网站的方案。文章介绍了电影评论网站的系统分析部分&…...

20240817 全志 笔试

文章目录 1、选择题1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.202、填空题2.12.23、问答题3.14、编程题4.14.2岗位:NO2510 嵌入式软件设计工程师(珠海/广州/西安/深圳) 题型:20 道选择题,2 道填空题,1 道问答题,2 道编程题 1、选择题 1.…...

laravel 查询数据库

数据库准备 插入 三行 不同的数据 自行搭建 laravel 工程 参考 工程创建点击此处 laravel 配置 数据库信息 DB_CONNECTIONmysql #连接什么数据库 DB_HOST127.0.0.1 # 连接 哪个电脑的 ip &#xff08;决定 电脑 本机&#xff09; DB_PORT3306 # 端口 DB_DATABASEyanyu…...