• ssh连接的原理


    ssh是linux系统中的一个远程连接工具,也是一种网络协议,通过各种加密算法达到安全连接的效果。若能使用ssh连接到另外一台机器上,我们就可以认为是安全的。本节主要介绍的是ssh连接的原理以及ssh免密连接的原理。


    一、ssh连接原理

        1、环境介绍

        两台linux服务器

        分别安装ssh服务,并启动

      2、原理以及过程

        在A上使用ssh连接B机

      • A向B发送连接请求
      • B收到请求后,将自己的公钥发给A
      • A收到公钥后,用公钥加密B的登陆密码,生成加密密文,发送给B
      • B收到加密密文后,用自己的私钥解密,得到解密信息,然后与B的登陆密码做比较,正确则允许A登陆。            

        

    二、ssh免密登陆

      1、环境介绍

        A/B两台装有ssh的linux机器

        在A机器上生成秘钥对

        将A的公钥加入到B机器上指定位置

        介绍一下~/.ssh/目录下的几个文件:

    1、id_rsa          生成的秘钥
    
    2、id_rsa.pub        生成的公钥
    
    3、authorized_keys     存放远程连接主机的公钥,一行一个公钥,权限为600
    
    4、know_hosts        (该文件不会立刻生成)存放被连接主机的公钥,下次连接时会核对公钥是否一致,若不一致,则发出相应的警报,作用是避免安全攻击,比如说DNS劫持等。
    若发现异常会显示下图的提示,只要删除know_hosts文件里冲突的公钥即可。

      

     可通过以下命令实现秘钥对的创建与免密登陆的操作:

        此时,便可以免密连接了。

      2、免密连接原理及过程

      • A向B发送连接请求,并带上自己的公钥
      • B收到A的公钥,检查机器上的授权列表是否包含有A的公钥,若存在,再生成一个随机数,使用公钥加密,生成加密密文发送给A
      • A收到加密密文后,用私钥机密,得到的结果发送给B
      • B收到A发来的结果,与之前生成的随机数作比较,一致则允许A连接    

     

      

  • 相关阅读:
    计算机网络基础 汇总
    指针与数组
    卡特兰数
    Leetcode Sort Colors
    Leetcode Group Shifted Strings
    Leetcode Summary Ranges
    Leetcode Count Primes
    Leetcode Reverse Words in a String II
    Leetcode Reverse Words in a String
    Leetcode Rotate Array
  • 原文地址:https://www.cnblogs.com/zqj-blog/p/10445598.html
Copyright © 2020-2023  润新知