ssh服务采用“非对称密钥系统”:主要通过两把不一样的公钥和密钥来进行加密与解密的过程

公钥(Public Key):提供给远程主机进行数据加密

私钥(Private Key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。

环境:  Server:CentOS 6.7(192.168.1.17)        Client: CentOS 7.9(192.168.1.14)

基于密码认证:

原理:

1、Server建立公钥:每次启动sshd服务器,Server会主动查找自己的/etc/ssh/ssh_host*文件。因为这些文件就是Server建立起来的公钥和私钥,一般采用rsa加密方式

2、Client端主动连接要求:若客户端要连接ssh服务器

3、Server端会传输768bit公钥文件给客户端:server公钥需要server私钥解密,因此被截取了,如果没有得到server私钥解密,也是无法查看到内容的,所以公钥明文传输

4、Client端记录/比对Server端的公钥,Client端第一次连接,会将server公钥记录在$HOME/.ssh/known_hosts文件中。若存在记录,则Client端会比对差异,同时Client端会根据Server公钥产生256bit的私钥

5、Client端利用Server发送过来的公钥,将验证的密码加密发送给Server,Server利用自己的私钥进行解密,同时验证密码是否正确(下图的code用户验证密码),验证通过就建立了连接,就可以数据传输了。

操作:

Server端:

创建一个用于远程的账户

ssh端口处于listen状态

Client端:

这里的密码为Server端code用户的密码,Server端要进行code用户密码验证(Client端要用Server公钥给输入的密码加密,然后发送给Server,Server在本地验证code密码是否正确,然后是否建立连接)

Client端会在当前用户的家目录下产生一个.ssh目录,.ssh目录下会建立一个known_hosts文件,用于记录Server的公钥。因为默认用的rsa加密方式,可以通过Server端查看/etc/ssh/ssh_host_rsa.pub与Client端$HOME/.ssh/known_hosts比对看是否一样

基于公钥认证的方式:

原理:

ssh服务两句话的更多相关文章

  1. 神级程序员通过两句话带你完全掌握Python最难知识点——元类!

    千万不要被所谓"元类是99%的python程序员不会用到的特性"这类的说辞吓住.因为 每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生 ...

  2. 两句话掌握python最难知识点——元类

    千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...

  3. 两句话掌握 Python 最难知识点——元类

    千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...

  4. Leetcode884.Uncommon Words from Two Sentences两句话中的不常见单词

    给定两个句子 A 和 B . (句子是一串由空格分隔的单词.每个单词仅由小写字母组成.) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的. 返回所有不常用单 ...

  5. 简单两句话解释下prototype和__proto__

    先上两句代码: var Person = function () {}; var p = new Person(); 把new的过程拆分成以下三步: <1> var p={}; 也就是说, ...

  6. 两句话帮你彻底记住gdb之eXamining memory

    对于刚学习Unix/Linux环境C编程的小朋友们或者写了很多所谓的C代码的老手们(其实很可能是机械程序员或者是伪程序员)来说,要记住gdb的eXaming memory的语法其实是相当不容易的,如果 ...

  7. 用sql合并列,两句话合为一句

    合并bc两列 UPDATE `test` SET `a`=concat(`b`,`c`) 清空a列 UPDATE `test` SET `a` = NULL

  8. [Swift]LeetCode884. 两句话中的不常见单词 | Uncommon Words from Two Sentences

    We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word co ...

  9. leetcode-884两句话中的不常见单词

    ''' 给定两个句子 A 和 B . (句子是一串由空格分隔的单词.每个单词仅由小写字母组成.) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的. 返回所有 ...

随机推荐

  1. noip模拟4[随·单·题·大佬]

    woc    woc   woc难斩了人都傻了 害上来先看T1,发现这不就是一个小期望嘛(有啥的)真是!!打算半个小时秒掉 可是吧,读着读着题面,发现这题面有大问题,后来去找老师,还是我nb给题挑错, ...

  2. 噪声标签的负训练:ICCV2019论文解析

    噪声标签的负训练:ICCV2019论文解析 NLNL: Negative Learning for Noisy Labels 论文链接: http://openaccess.thecvf.com/co ...

  3. CUDA运行时 Runtime(三)

    CUDA运行时 Runtime(三) 一.异步并发执行 CUDA将以下操作公开为可以彼此并发操作的独立任务: 主机计算: 设备计算: 从主机到设备的内存传输: 从设备到主机的存储器传输: 在给定设备的 ...

  4. QueryTable的使用以及错误

    1.QuerySeter的filter使用遇到的错误 1.1 Filter里的字段名和操作符要用双下划线."__" 不是" _",否则会被认为成是列名的一部分, ...

  5. 【复习】Listening and Reading Comprehension

    短对话 M: Why do you declare the news that you're pregnant on your blog directly? W: I'm so excited tha ...

  6. 手把手教你实现一个支持插件化的 uTools 工具箱(一)

    前言 对于前端同学来说,我们会经常用到各种小工具,比如:图床.颜色拾取.二维码生成器.url 管理.文本比对.json 格式化.当然我们可以 chrome 收藏夹来管理各种在线的小工具,但作为一个有追 ...

  7. 【Spring Cloud & Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权

    一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证授权.鉴权的逻辑,结合 ...

  8. Terraform插件Provider管理,搜索、定义、下载

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 简介 最近工作中用到了Terraform,权当学习记录一下,希望能帮助到其它人. Terraform系列文章如下: Ter ...

  9. 处理python中的信号

    什么是信号 信号(signal)-- 进程间通讯的一种方式,也可作为一种软件中断的方法.一个进程一旦接收到信号就会打断原来的程序执行来按照信号进行处理. 简化术语,信号是一个事件,用于中断运行功能的执 ...

  10. 一次鞭辟入里的 Log4j2 异步日志输出阻塞问题的定位

    一次鞭辟入里的 Log4j2 日志输出阻塞问题的定位 问题现象 线上某个应用的某个实例突然出现某些次请求服务响应极慢的情况,有几次请求超过 60s 才返回,并且通过日志发现,服务线程并没有做什么很重的 ...