推薦使用 SSH 方式連接 Git 服務

1. 前言

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

2. Git 中的 ssh

公有 Git 服務諸如 GitHubGiteeCodingGitlab 等都提供了 ssh功能。通過 GitlabGogs

Gitea 搭建的私有 Git 服務也都有 ssh 功能。一般我們都可以在對應的設置 中找到。以 Gitee 為例:

推薦使用 SSH 方式連接 Git 服務

那麼如何生成 ssh 公鑰呢?

3. ssh 公鑰的生成

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

3.1 Linux\\Mac 為例

命令行執行:

<code>ssh-keygen -t rsa -b 4096 -C "替換為常用email地址"/<code>

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

<code> cat ~/.ssh/id_rsa.pub/<code>

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

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

3.2 Windows 下生成 ssh

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

推薦使用 SSH 方式連接 Git 服務

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

Win 下開啟/關閉 ssh 命令:

<code>net start sshd
net stop sshd/<code>

4. 配置

我們生成了密鑰對之後將 id_rsa.pub 的所有內容複製並填寫到 公鑰 一欄中配置好我們生成的公鑰,Git 服務端就認可我們當前的主機了。我們就能以 git@ hostname:user/project.git 的形式進行無密碼訪問遠程 Git 倉庫了。

原文鏈接:https://mp.weixin.qq.com/s/9GUToeK_tsiQwTLHWQTnHQ


分享到:


相關文章: