天天看點

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

1. 前言

Git 已經成為我們開發最流行的版本控制工具了,Git 支援多種傳輸協定,其中最常用的就是https 和 ssh,平常我們用 https 比較多,這種方式 pull 和 push 代碼都要輸入賬戶密碼,非常不友善。那麼有沒有更加友善而且安全的方式呢?當然有!ssh 方式可以做到這一點。

2. Git 中的 ssh

公有 Git 服務諸如 GitHub、Gitee、Coding、Gitlab 等都提供了 ssh 功能。通過 Gitlab 、Gogs、Gitea 搭建的私有 Git 服務也都有 ssh 功能。一般我們都可以在對應的設定 中找到。以 Gitee 為例:

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

那麼如何生成 ssh 公鑰呢?

3. ssh 公鑰的生成

ssh 生成公鑰的算法有很多種,我們通常使用 RSA 算法來生成密鑰對。確定你在不同作業系統的使用者目錄 ~/.ssh 下沒有 id_rsa 和 id_rsa.pub ,如果有就說明你已經生成了無需再生成。針對 LinuxMac 和Windows 和我們來走一下流程。

3.1 LinuxMac 為例

指令行執行:

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

後面讓你輸入密碼你可以輸入一個,或者一路 enter 按到底直接生成。生成完畢後執行以下指令檢視公鑰:

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

切記一定要帶 .pub 字尾,否則則為私鑰。然後出現以 ssh-rsa 開頭的字元串就是公鑰:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDBYgnpCY9j/xhhZO4ryy7YrJRRUXydbVUyi8dSfyn5obFD0iJhqPCF1jk5LZuryhsmy…………………(此處省略)mH1eqd4SMXO8fJoaM7JOWYSs/xgRK9bw== [email protected]

3.2 Windows 下生成 ssh

如果你本地安裝有 Git Bash 方法可以按照上面去模仿即可。 Bash 可以去你 Git 安裝目錄找,它也是一種 Shell 操作界面。然後可以按照 3.1 的方法生成。Window10 某個更新以後開始内置了 ssh 服務。以管理者身份打開指令行輸入 ssh 如果出現了提示指令說明你已經開啟了 ssh 服務。如果沒有則需要你手動開啟。在 應用和功能 選項中搜尋 openssh 選擇用戶端或者伺服器都可以:

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

安裝後需要重新開機,重新開機後打開指令行,輸入 ssh 進行檢查即可。然後就可以按照 3.1 的方式生成公鑰了。

附 Win 下開啟/關閉 ssh 指令:

給Git配置SSH後,媽媽再也不擔心我忘記輸密碼了

4. 配置

我們生成了密鑰對之後将 id_rsa.pub 的所有内容複制并填寫到 公鑰 一欄中配置好我們生成的公鑰,Git 服務端就認可我們目前的主機了。我們就能以 git@ hostname:user/project.git 的形式進行無密碼通路遠端 Git 倉庫了。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-03-24

本文作者:碼農小胖哥

本文來自:“掘金”,了解相關資訊可以關注“

掘金

繼續閱讀