1. 程式人生 > >Git 生成SSH Key

Git 生成SSH Key

由於 git bash 當前 key tla 字符串 -s 解密 -a

背景:服務器是LINUX系統(centos7),使用GitLab管理git代碼庫。各個客戶端通過sourcetree 工具,采用SSH獲取、提交代碼。使用SSH的方式需要公鑰和私鑰。下面介紹秘鑰的生成方式和秘鑰在sourcetree、gitlab上的配置。

===================================================================秘鑰的生成方式========================================================

方法一、Git GUI生成 ssh key 方法

1.打開Git Gui, 選擇【help】,點擊【Show SSH KEY】

技術分享圖片

2.由於之前沒有配置過SSH KEY,此時會顯示沒有任何SSH 公鑰

技術分享圖片

3.點擊右上角【Generate key】,此時會彈出一個界面,要求你輸入passphrase

技術分享圖片

4.然後再次確認輸入passpahrase .

5.此時就會生成一個SSH Key

技術分享圖片

6.如果以後需要查看SSH Key。此時可以在Git Gui界面上點擊【help】-》【Show SSH KEY】,查看此次生成的SSH Key。

方法二、git命令添加 ssh key 方法

1、打開Git Bash

技術分享圖片

==============================================================秘鑰在sourcetree和gitlab如何配置===============================================

2.設置 SourceTree 的 SSH客戶端

  • 1.配置SourceTree 的 SSH 客戶的為:OpenSSH
    • 1.1.工具->選項
      技術分享圖片


    • 1.2.設置 OpenSSH,這時候,SSH 密鑰這一欄自然會去選擇當前用戶下的 .ssh 目錄下的 id_rsa 這個私鑰:

      技術分享圖片

2.添加 ~/.ssh/id_rsa.pub 文件內容到 git 服務器裏面去

  • 3.1.比如你的 git 代碼庫管理工具是 GitLab,那麽你需要在 https://github.com/settings/keys (如果公司代碼放在了自己的服務器上,那麽地址會不同,以公司為準)裏面添加 SSH key 。
    技術分享圖片

  • 3.2.SourceTree 來下載 git 項目
    • 3.2.1.復制你的 git 地址:[email protected]
    • 技術分享圖片

    • 3.2.2.從 SourceTree 裏面新建一個地址,這時候你發現你本地已經可以下載遠程的 git 代碼了
    • 技術分享圖片

4.解釋:

1.ssh-keygen 是公鑰私鑰的非對稱加密方式:

  1.1.公鑰:用於向外發布,任何人都能獲取。

  1.2.私鑰:要自己保存。

2.公鑰私鑰加解密的原理

  2.1.客戶端把自己的公鑰存放到要鏈接的遠程主機上

  • 2.2.客戶端要鏈接遠程主機的時候,遠程主機會向客戶的發送一條隨機的字符串,客戶的收到字符串之後使用自己的私鑰對字符串加密然後發送到遠程主機,遠程主機根據自己存放的公鑰對這個字符串進行解密,如果解密成功證明客戶端是可信的。

Git 生成SSH Key