ssh獲取公鑰,綁定gitlab,ssh-keygen -t rsa命令詳解

昨晚我的戰神筆記本電腦拿去百腦匯換了cd殼,今早起來無法正常開機,所以臨時用公司電腦;
到gitlab拉項目時,需要綁定ssh公鑰;獲取公鑰得網上搜索,所以這裏寫一份,後續直接這裏拿來用

通過命令ssh-keygen -t rsa 獲取公鑰

在這裏插入圖片描述
Enter file in which to save the key (/c/Users/chen/.ssh/id_rsa):指定生成的文件名(公鑰會在文件裏,用記事本打開可以複製)

Overwrite (y/n)? : 我不是首次輸入這命令,是否要覆蓋的意思

輸完命令後
在我的/c/Users/chen/.ssh文件夾下,會有幾個文件,
id_rsa(私鑰)
id_rsa.pub(公鑰)

在這裏插入圖片描述
用記事本打開id_rsa.pub文件,複製裏面內容
在這裏插入圖片描述

在gitlab上綁定公鑰

setting→SSH Keys→Add an SSH key
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

綁定好了後,就可以正常git clone SSH地址,將gitlab上項目克隆到本地了
在這裏插入圖片描述

ssh-keygen命令解釋

ssh-keygen -t rsa -C “youremail.com”

在用Git生成密鑰的時候,查詢到的命令是:
ssh-keygen -t rsa -C “郵件地址@youremail.com”

ssh-keygen -t rsa -b 4096 -C “郵件地址@youremail.com”

ssh

SSH 爲 Secure Shell 的縮寫,SSH 爲建立在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。

ssh-keygen

從客戶端來看,SSH提供兩種級別的安全驗證:

  • 第一種級別(基於口令的安全驗證):只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。
  • 第二種級別(基於密鑰的安全驗證)ssh-keygen:需要依靠密鑰,這裏的密鑰是非對稱密鑰。

t : t是type的縮寫

-t 即指定密鑰的類型,密鑰的類型有兩種,一種是RSA,一種是DSA

RSA和DSA

  • RSA:RSA加密算法是一種非對稱加密算法,是由三個麻省理工的牛人弄出來的,RSA是他們三個人姓的開頭首字母組合。
  • DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal簽名算法的變種。

爲了讓兩個linux機器之間使用ssh不需要用戶名和密碼。所以採用了數字簽名RSA或者DSA來完成這個操作。ssh-keygen默認使用rsa密鑰,所以不加-t rsa也行,如果你想生成dsa密鑰,就需要加參數-t dsa。

b :b是bit的縮寫

-b 指定密鑰長度。

4096

對於RSA密鑰,最小要求768位,默認是2048位。4096指的是RSA密鑰長度爲4096位。
DSA密鑰必須恰好是1024位(FIPS 186-2 標準的要求)。

C:comment的縮寫

-C表示提供一個註釋,用於識別這個密鑰。 可以省略.

“郵件地址@youremail.com”:用於識別這個密鑰的註釋內容

引號裏的內容爲註釋的內容,所以"雙引號裏面不一定得填郵箱,可以輸入任何內容


謝謝你閱讀到了最後
期待你,點贊、評論、交流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章