zoukankan      html  css  js  c++  java
  • Linux SSH公钥认证配置

    ssh支持两种认证方式:密码认证和公钥认证。若没有配置公钥认证,则每次ssh连接时都需要输入密码,不仅麻烦而且还不安全,因此推荐配置公钥认证,只需在配置时输入一次密码,之后ssh连接就无需输入密码了。

    公钥认证配置只需在ssh客户端机子上配就可以:

    1.在客户端机子上生成公钥id_rsa.pub和私钥id_rsa(默认存在当前用户主目录的.ssh/下),输入ssh-keygen,有三次询问,直接回车即可。


     2. 把公钥复制到ssh server上,这个步骤其实就是刚生成的id_rsa.pub的内容追加到ssh server 的 ../.ssh/authorized_keys 文件下

     

    这个步骤需要输入一次ssh server的密码,执行完成后再以ssh方式登陆时就不需要再输入密码了:

     

    配置完毕.

    公钥认证说明:

    使用ssh-keygen程序生成公钥 id_dsa.pub 和私钥 id_dsa,一般是在客户端上生成,然后把 id_dsa.pub 通过某种方式发送给服务端。

    服务端放在将要远程登录过来的那个账号的目录的.ssh目录下面。

           客户端使用密钥和算法协商阶段生成的会话密钥加密账号、认证方法、id_dsa.pub,将结果发送给服务端。

           服务端使用会话密钥解密报文,得到账号、id_dsa.pub。    服务端在这个账号的目录的.ssh目录下找对应的公钥,如果没有找到,发送失败消息给客户端,如果找到,比较客户发送过来的这个公钥和找到的公钥,如      果内容相同,服务端生成一个随机的字符串,简称“质询”,然后使用找到的公钥加密这个质询,然后使用会话密钥再次加密。

           服务端把这个双重加密的数据发送给客户端。

           客户端使用会话密钥解密报文,然后使用id_dsa再次解密数据,得到质询。

           客户端使用会话密钥加密质询,发送给服务端。

           服务端使用会话密钥解密报文,得到质询,判断是不是自己生成的那个质询,如果不相同,发送失败消息给客户端,如果相同,认证通过

  • 相关阅读:
    Privacy & Logic
    Rules of Evidence
    Court terms & Judicial opinions
    Objections in Court
    US Trial Procedures
    Jeremy Jaynes v. Va.
    C++\CLI编程(一、命名空间)
    C++\CLI编程(一、命名空间)
    C++关于#include 两种 引用方式
    C++关于#include 两种 引用方式
  • 原文地址:https://www.cnblogs.com/wsswlyy/p/7737878.html
Copyright © 2011-2022 走看看