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 用於識別這個密鑰的注釋 ,這個注釋你可以輸入任何內容,很多網站和軟件用這個注釋作為密鑰的名字。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM