為了避免每次提交都輸入用戶名和密碼,大多數(shù) Git 服務(比如 GitHub、GitLab 和 BitBucket等)都提供 SSH 公鑰認證。要實現(xiàn)公鑰提交,需要先生成 SSH 密鑰組(公鑰和私鑰),再把公鑰上傳到服務器即可。
生成公鑰
在 Linux 和 Mac 系統(tǒng),用戶的密鑰保存在 ~/.ssh 目錄下。先在該目錄下判斷公鑰 id_dsa 和私鑰 id_dsa.pub 文件是否存在。如果不存在,則需要事先生成。
要生成公鑰和私鑰,在終端執(zhí)行
ssh-keygen
然后一些選項,這時按回車鍵即可。這時再查看 ~/.ssh 目錄,就會發(fā)現(xiàn)密鑰已經(jīng)生成好了。
公鑰設置
這里以 GitHub 為例,講一下公鑰的設置方法。
在 Github 的設置頁面,找到 SSH and GPG keys 設置。

點擊 New SSH key

查看公鑰的內(nèi)容并復制

填寫表單并保存(Title 可以隨便填寫)


這樣,公鑰就被添加到 GitHub 上了,以后每次提交的時候就不用那么麻煩的輸入用戶名和密碼了。
Happy Coding with Git!
注意
要說明的一點就是,一個密鑰只能由一個 GitHub 賬號使用,不能同時添加到多個 GitHub 賬號中。
另外GitLab 和 BitBucket 等 Git 服務的 SSH 密鑰配置跟 GitHub 大同小異,找到 SSH 密鑰設置并添加即可。
補充
** Windows 系統(tǒng) **
關(guān)于 Windows 系統(tǒng)下 SSH 密鑰的配制方法。
- 安裝 Git;
- 打開 Git Bash;
- 執(zhí)行
ssh-keygen生成密鑰組。 - 在用戶目錄下找到
.ssh文件夾并打開。 - 用記事本打開
id_dsa.pub文件,并復制到 GitHub 中。
** 自建服務 **
如果是自建的 Git 服務器,則需要把生成的密鑰提交給服務器管理員,讓管理員把密鑰追加到 Git 用戶 .ssh 目錄下的 authorized_keys 文件即可。