通过Xshell连接远程服务器搞懂SSH非对称加密的实际应用

news2024/11/26 13:28:41

最近阿里云服务器即将到期,正好618入手了腾讯云很便宜的轻量级服务器,之前阿里云服务器远程控制都是用Xshell密码登录,这次腾讯云试了试SSH免密登录,还是很好用的,正好借这个机会研究了下SSH原理

SSH是“非对称加密”非常直观的一种应用,用了SSH能很好的加深对“非对称加密”的理解

SSH方式的远程连接通常有两种方式:口令登录和密钥登录,这里接用一位博主的解释可以很清晰的理解这两种方式的差异:

  • 口令验证登录
    • 服务器生成公钥和私钥。
    • 客户端发起连接请求,服务器将公钥发给客户端。
    • 客户端生成口令(服务器密码),并用服务器发来的公钥加密,发送给服务器。
    • 服务器通过私钥解密,拿到口令(服务器密码),如果正确则认证成功。
  • 密钥验证登录
    • 客户端生成公钥和私钥,将公钥提前部署在服务器上。
    • 客户端发起连接请求。
    • 服务器随机生成一个字符串,用本地的公钥加密,发送给客户端。
    • 客户端通过私钥解密,将解密后的字符串发送给服务器。
    • 服务器验证本地字符串和客户端发来的字符串的一致性,如果通过,则认证成功。

引用链接:SSH登录及其原理详解 - 知乎

Xshell连接采用的是密钥验证方式,所以我们需要按照以下几步来完成远程连接

1、想办法生成一个密钥对(公钥+私钥),方法有很多,windows可以直接用Xshell工具生成,linux用户可以用ssh-keygen命令生成,两个方法都很简单,网上很多,这里不做赘述。生成密钥对(两个文件)后,公钥后缀名是.pub,私钥后缀名是.pem

2、我们既然要使用密钥验证方式登录服务器,就需要将公钥文件放到服务器上去,私钥本地自行保管

  • 如果自己上传,服务器是linux的话,可以用命令cd ~/.ssh打开此目录,pwd看下是否存在authorized_keys文件,如果不存在则touch authorized_keys命令新建此文件,将步骤1生成的公钥用文本编辑器打开,复制到authorized_keys文件中
  • 我用腾讯云服务器,可以直接在平台操作,如下图位置进行创建,然后在服务器密钥设置中绑定此密钥即可自动将公钥上传到服务器,绑定后可以去服务器的~/.ssh/authorized_keys文件查看此公钥(注意此图中,也有创建新密钥选项,也可以通过这个方式实现步骤1生成密钥对,生成后会自动下载私钥)

3、密钥放到服务器后,就可以本地通过Xshell进行远程密钥登录了

  • 填好服务器地址,然后按照下图设置登录方式为Public Key

  • "用户密钥"选择咱们前面生成的私钥文件,密码填不填都行,这个密码在密钥登录方式中没有太大的意义了,如下图

  • 然后点击确认填写好用户名就行,这样就可以不输入密码实现远程连接服务器了

连接原理:

Xshell发起连接请求,远程服务器随机生成一个串,用服务器保存的公钥进行加密,返回给Xshell,Xshell用咱们选择的私钥进行解密,然后将解密的串发给远程服务器,远程服务器再通过公钥和算法计算出客户端返回的解密串是否和之前加密发给客户端的串原值一致,一致则验证通过。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在做性能测试时会遇到的瓶颈

针对网络瓶颈,现在冒似很少,不过也不是没有,首先想一下如果有网络的阻塞,断网,带宽被其他资源占用,限速等情况,应用程序或系统会是什么情况,针对WEB,无非是超时&#xff…

【ros2】ros2环境安装与基础入门

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍ros2环境安装与基础入门。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷…

【RF-SSA-LSTM】随机森林-麻雀优化算法优化时间序列预测研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

红帽认证考试难倒你?这些知识点可以帮你一臂之力

话不多说直接上干货,本篇文章适用于备考Linux红帽认证的同学。 常用的RPM软件包命令 常用的Yum命令 systemd与system V init的区别以及作用 如果想要将系统默认的运行目标修改为“多用户的文本界面”模式,可直接用ln命令把多用户模式目标文件链接到/e…

Pytest教程__用例分组(6)

用例分组 pytest进行分组测试的方法是使用装饰器 pytest.mark.标记名称,被标记为相同名称的用例可以看做为同一个组。 分组用例的运行方式是在执行命令中追加 -m "标记名称"的参数。 执行结果如下: 从结果可以看出,未被标记的用例…

aPaaS平台和低代码开发平台是一回事吗?哪个更好?

零代码、低代码、APaaS系统应从哪些指标考察选型?低代码、零代码、APaaS哪一个更好? 零代码、低代码、APaaS的概念在行业内已经流行了很长一段时间。那这3个概念分别指的是什么?企业如果要用该如何选?又有哪些好用的低代码平台推…

Oracle集群管理 -CRSD层进程启动过程与故障分析

1 CRSD启动过程 整体以及依赖关系如图展示: crsd.bin从OCR中获取所需要的资源列表。 crsd.bin启动对应的代理进程。代理进程oraagent_root启动集群的公网资源之后集群的VIP和scan vip资源也被启动。代理进程oraagent_grid启动进而vip对应的listener资源,…

unity制作愤怒的小鸟

文章目录 一、 介绍SpringJoint2D 、line renderer制作发射绳基类bird脚本的基础功能给bird添加飞行拖尾效果pig类游戏胜利的小星星烟花界面摄像机跟随移动游戏失败的界面多种小鸟的制作:黄鸟、绿鸟、黑鸟地图选择关卡选择数据保存制作多个关卡场景异步加载游戏全局…

Unity基础4——LineRenderer

一、参数面板 二、参数介绍 Loop:是否首尾相连 Positions:线段的点 Width:线段宽度曲线的调整 Color:颜色变化 需要搭配材质才有效果 Corner Vertices:角顶点、圆角 此属性指,在一条线中绘制角时使用了…

模块化互联产品 --青翼自研 模拟采集FMC子卡产品资料

FMC121是一款基于FMC标准规范,实现2路14-bit、1GSPS ADC同步采集,2路16-bit 2.5GSPS DAC同步回放功能子卡模块。该模块遵循VITA57.1标准,可直接与FPGA载卡配合使用,板卡ADC器件采用ADI的AD9680芯片,该芯片具有两个模拟…

软件进行验收测试的必要性体现在哪些方面?

在软件开发的过程中,验收测试是一个非常重要的环节。为确认软件是否符合预期需求而进行的一种测试工作。目的是验证软件是否满足其预期功能、性能以及质量等要求。通过对软件进行全面、系统的测试,可以发现和解决软件开发过程中存在的问题和缺陷&#xf…

第19章:索引的创建与设计原则

一、索引的声明与使用 1.1索引的分类 功能逻辑:普通索引,主键索引,唯一索引,全文索引 物理实现方式:聚簇索引和非聚簇索引 作用字段个数:单列索引和联合索引 1.普通索引 对表中的任何字段都可以创建&…

MT6853 (天玑 720)核心板,5G核心板

天玑720是一款中端移动设备的5G入门级体验,采用了7纳米制程,并集成了低功耗的5G调制解调器。它配备了一个八核CPU,其中包括两个主频为2GHz的Arm Cortex-A76大核和6个2GHz的Cortex-A55小核。此外,它还搭载了Mali-G57 MC3的GPU&…

django REST框架- Django-ninja

Django 是我学习的最早的web框架,大概在2014年,当时选他原因也很简单就是网上资料比较丰富,自然是遇到问题更容易找答案,直到 2018年真正开始拿django做项目,才对他有了更全面的了解。他是一个入门有门槛,学…

教程示例:嵌入式软件移植 printf

在嵌入式中printf 这种功能强大的函数可谓是c语言库函数的中的一股清流!也就是太好用了吧!今天分享的例程有 stm32f4ZG 和 cc2530f256,这个两款芯片的移植例程和移植教程!相信你看完后也可以移植到别的芯片去! 使用的…

YouTubeDNN

这个youTubeDNN主要是工程导向,对于推荐方向的业界人士真的是必须读的一篇文章。它从召回到排序整个流程都做了描述,真正是在工业界应用的经典介绍。 作者首先说了在工业上YouTube视频推荐系统主要面临的三大挑战: 1.Scale(规模)&#xff1…

微软ChatGPT技术的底层支撑——GPU

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来看一看微软ChatGPT技术的底层支撑——GPU。 想要了解GPU,你必须要清楚CPU、GPU、TPU三者的关系。 微软的chatgpt是基于复杂的人工神经网络和强化学习的技术,这是如何运算的…

数据建模学习2--作业-利用matlab解决实际问题

文章目录 Malthus模型问题用最小儿二乘法估计阻滞增长模型自来水运输问题利用 Dijkstra 算法计算下图中起点 D 至各顶点得最短距离,需要给出 仅供参考 Malthus模型问题 1790-1980年间美国每隔10年的人口数量记录如下表所示。 表1 1790-1980年间美国每隔10年的人口…

基于ENVI和哨兵2数据提取云南玉溪和安宁山火受灾面积

引言 2023年4月11日15时27分,云南省玉溪市江川区九溪镇发生森林火情。当地森林草原防灭火指挥部立即启动应急预案,组织力量扑救。省、市、区各级共投入森林消防、消防救援、公安民警、武警官兵、专业扑火队、民兵、干部群众共计4000余人开展扑救工作,妥善转移安置部分可能受…

Blender 十大重点功能带你一次了解!

一、 Cycles 渲染速度提升二到八倍 在今年四月的Cycles X公告中,大家得知了在Blender 3.0 中将会有Cycles X 提供一种全新的渲染风貌,许多人开始纷纷测试新功能。如今随着3.0的上市,我们可以看到与2.93 版本中使用的Cycles比较起来&#xff…