媽媽不再擔憂我忘記Git密碼了

1. 前言

Git 已經成爲咱們開發最流行的版本控制工具了,Git 支持多種傳輸協議,其中最經常使用的就是httpsssh,日常咱們用 https 比較多,這種方式 pullpush 代碼都要輸入帳戶密碼,很是不方便。那麼有沒有更加方便並且安全的方式呢?固然有!ssh 方式能夠作到這一點。git

2. Git 中的 ssh

公有 Git 服務諸如 GitHubGiteeCodingGitlab 等都提供了 ssh 功能。經過 GitlabGogsGitea 搭建的私有 Git 服務也都有 ssh 功能。通常咱們均可以在對應的設置 中找到。以 Gitee 爲例:算法

那麼如何生成 ssh 公鑰呢?安全

3. ssh 公鑰的生成

ssh 生成公鑰的算法有不少種,咱們一般使用 RSA 算法來生成密鑰對。確保你在不一樣操做系統的用戶目錄 ~/.ssh 下沒有 id_rsaid_rsa.pub ,若是有就說明你已經生成了無需再生成。針對 LinuxMacWindows 和咱們來走一下流程。bash

3.1 LinuxMac 爲例

命令行執行:服務器

ssh-keygen -t rsa -b 4096 -C "替換爲經常使用email地址"

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

cat ~/.ssh/id_rsa.pub

切記必定要帶 .pub 後綴,不然則爲私鑰。而後出現以 ssh-rsa 開頭的字符串就是公鑰:工具

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDBYgnpCY9j/xhhZO4ryy7YrJRRUXydbVUyi8dSfyn5obFD0iJhqPCF1jk5LZuryhsmy
…………………(此處省略)
mH1eqd4SMXO8fJoaM7JOWYSs/xgRK9bw== dax@felord.cn

3.2 Windows 下生成 ssh

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

安裝後須要重啓,重啓後打開命令行,輸入 ssh 進行檢查便可。而後就能夠按照 3.1 的方式生成公鑰了。操作系統

Win 下開啓/關閉 ssh 命令:命令行

net start sshd
net stop sshd

4. 配置

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

相關文章
相關標籤/搜索