• SSH两种验证方式原理


    本帖转自 http://www.cnblogs.com/hukey/p/6248468.html

    SSH验证方式有两种,分别为用户密码认证以及密钥认证。

    1.用户密码认证方式

    说明:

      (1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户

      (2) 用户会根据服务器发来的公钥对密码进行加密;

      (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

    2.密钥登陆认证

    说明:

      (1) 首先在客户端生成一个密钥对(ssh-keygen);

      (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;

      (3) 当客户端再次发送一个连接请求,包括ip、用户名

      (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;

      (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;

      (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

      (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

  • 相关阅读:
    Codeforces 689A Mike and Cellphone
    栈的一些基本操作
    Intersecting Lines POJ 1269
    Segments POJ 3304 直线与线段是否相交
    Toy Storage POJ 2398
    CF471D MUH and Cube Walls
    P 3396 哈希冲突 根号分治
    P1445 [Violet]樱花
    P6810 「MCOI-02」Convex Hull 凸包
    P3455 [POI2007]ZAP-Queries
  • 原文地址:https://www.cnblogs.com/ImJerryChan/p/6661815.html
Copyright © 2020-2023  润新知