zoukankan      html  css  js  c++  java
  • linux ssh服务原理简介篇

    连接到远程主机的登陆界面分类,主要有文字接入和图形接入2中方式:

    1. 1、文字接入
    • 文字明文密码接入:Telnet、rsh等为主,目前使用较少
    • 文字密码接入:以ssh为主,基本上取代了telnet、rsh方式
    1. 2、图形化接入:xdmcp、vnc、rdp等
    • SSH是Secure Shell Protocol的简写,传输数据前,将数据加密后再传送到网络上,数据传输过程中的安全性提高
    • SSH协议有两个版本:SSH1和SSH2。SSH2比SSH1更安全,在远程连接的时候加入了检测机制。可以有效防范在连接远程主机的时候被插入攻击代码。SSH协议采用公钥私钥进行加密。
    • 非对称加密:使用公钥和私钥进行数据加密,公钥和私钥必须成对出现

         公钥:顾名思义,一把公共的钥匙,大家都可以取得,并用来加密数据

         私钥:一把私有的钥匙,使用自己的公钥加密的数据,需要自己的私钥才能解密。可以看出私钥不能够外泄,一旦外泄,别人就可以解密使用该公钥加密的数据。

    • 网络中通信是双向的,所以正常通信中本机需要对端的公钥才对。如下图所示

       2、SSH通信动作介绍

     客户端与服务器端的ssh通信过程简化为下图:

     1、服务器端生成公钥文件。当sshd服务启动时,会自动寻找/etc/ssh/ssh_host*的文件。若系统是新装的,则没有公钥文件,sshd会主动计算出相关的公钥文件和私钥文件。

    2、客户端发出请求,想要与客户端建立ssh通信。

    3、server端发送公钥文件给客户端。

    4、客户端首次与server建立连接时,会存档server端的公钥到相关路径的文件中;如果已经记录过该服务器的公钥数据,则客户端去对比两次的数据是否存在差异。并计算生成出自己的公钥私钥数据。

    5、客户端发送自己的公钥数据到server端。

    6、双向加解密。

      1、server端到客户端,在进行数据传送时,使用客户端的公钥进行加密;客户端收到后通过私钥解密数据。

      2、客户端到server端,在进行数据传送时,使用server端的公钥进行加密;server端收到后通过私钥解密数据。

  • 相关阅读:
    《人月神话》-读后感2
    自主开发(二)
    自主开发(一)
    《人月神话》-读后感1
    公文流转系统—登录界面
    文件与流课堂实践
    Intern Day22
    Intern Day22
    Intern Day21
    计蒜客T1746
  • 原文地址:https://www.cnblogs.com/wujizhang/p/11652740.html
Copyright © 2011-2022 走看看