zoukankan      html  css  js  c++  java
  • ssh-keygen -t rsa -C "youremail.com"的意思

    在用Git生成密钥的时候,查询到的命令是:ssh-keygen -t rsa -C "邮件地址@youremail.com"和ssh-keygen -t rsa -b 4096 -C "邮件地址@youremail.com"。使用的时候只是复制粘贴,却不明白这俩命令有什么区别,为什么都可以!后来百度才明白,这里记录一下。

    1、ssh

    SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

    2、ssh-keygen

    从客户端来看,SSH提供两种级别的安全验证:

            第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

            第二种级别(基于密钥的安全验证)ssh-keygen:需要依靠密钥,这里的密钥是非对称密钥。

    3、t :  t是type的缩写

              -t 即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA

    4、rsa:是指RSA算法

            RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。

            DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。

    为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa。

    5、b :b是bit的缩写

              -b 指定密钥长度。

    6、4096

        对于RSA密钥,最小要求768位,默认是2048位。4096指的是RSA密钥长度为4096位。

        DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。

    7、C:C是comment的缩写

             -C表示提供一个注释,用于识别这个密钥。

    8、 "邮件地址@youremail.com":用于识别这个密钥的注释

          引号里的内容为注释的内容,所有" "里面不一定填邮箱,可以输入任何内容。

    总结:当你创建ssh的时候:-t 表示密钥的类型 ,-b表示密钥的长度,-C 用于识别这个密钥的注释 ,这个注释你可以输入任何内容,很多网站和软件用这个注释作为密钥的名字。

  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/gloria-5/p/12203044.html
Copyright © 2011-2022 走看看