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

news/2024/10/18 12:20:38/

最近阿里云服务器即将到期,正好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.ppmy.cn/news/402251.html

相关文章

LeetCode38. 外观数列

给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) "1" countAndSay(n…

实在智能RPA亮相2023全球人工智能技术博览会,“能对话的数字员工”引领智能自动化新篇章

随着ChatGPT火爆全网,人工智能再次成为学术界和科技领域“新宠”,一场“智能革命”的序幕悄然掀开。 6月13日,“智能驱动 砥砺前行”为主题的2023全球人工智能技术博览会在杭州未来科技城学术交流中心圆满落下帷幕。此次博览会以展示智能科技…

项目管理专业人员能力评价(CSPM)相关问题汇总,看这篇就够了!

问题导览: 1、国标项目管理(项目管理专业人员能力评级)证书是什么? 2、国标项目管理(项目管理专业人员能力评级)证书有几级? 3、项目管理专业人员能力等级证书的价值(含金量&#…

【微信支付】微信v3支付案例,SpringBoot集成IJPay实现微信v3支付

前言 这篇文章主要实现一下通过IJPay来实现微信v3支付案例&#xff0c;本篇文章使用的是JSAPI即小程序支付 IJPay码云仓库&#xff1a;https://gitee.com/javen205/IJPay/tree/dev IJPay官方文档&#xff1a;https://javen205.gitee.io/ijpay/ 准备工作 导入依赖 <depen…

Python对csv、ini、xml、excel等格式文件操作用例

Python文件操作相关 文件操作文件夹和路径csv格式文件ini格式文件xml格式文件excel文件 1. 文件操作 在学习文件操作之前&#xff0c;先来回顾一下编码的相关以及先关数据类型的知识。 字符串类型&#xff08;str&#xff09;&#xff0c;在程序中用于表示文字信息&#xff0…

给准将的情书64

爸爸&#xff0c;如果您不停止谈论1900年代的事情&#xff0c;人们会认为您来自1900年代&#xff01; 自从我的女儿在六岁的时候对我说上述话已经九年了&#xff0c;现在我几乎已经原谅了她。 我仍然爱她&#xff0c;但这个故事与她无关。 不&#xff0c;这故事讲的是我的初恋&…

高德地图 AMAP-TECH 算法大赛火热进行中······

阿里巴巴高德地图 AMAP-TECH 算法大赛于 7 月 8 日开启初赛&#xff0c;赛题为「基于车载视频图像的动态路况分析」&#xff0c;活动邀请了业界权威专家担任评委&#xff0c;优秀选手不仅可以瓜分丰厚的奖金&#xff0c;领取荣誉证书&#xff0c;还有机会进入高德地图【终面通道…

个性化推荐之召回的方法

在这个信息爆炸的时代&#xff0c;每个人都是内容的消费者&#xff0c;也轻而易举地可以成为内容的创造者。在海量的信息中&#xff0c;用户找到所需、所想、所爱的优质内容变得异常困难&#xff0c;个性化推荐也因此应运而生。 个性化推荐是在大数据分析和人工智能技术的基础…