解決SourceTree每次push都要輸入密碼的問題

本文參考自壯壯同學的文章http://www.lxweimin.com/p/1fc8940f114b
為 Git 遠程倉庫配置 SSH Key 的方法
首先,為何要配置 SSH Key ?從 Git 遠程倉庫 clone 代碼的方式有兩種,一種是 Https ,另一種是 SSH 。如果使用 Https 方式,不需要任何配置,但是當你 clone 下來后會發現,每次 commit 提交代碼,都需要你輸入 Git 遠程倉庫的密碼(使用終端操作會這樣,有些 Git 管理客戶端可能不會),這樣就極大的影響了我們的工作效率。這時候就需要使用 SSH 方式了,使用這種方式就不再需要每次都輸入密碼這么麻煩了,但是需要配置 SSH Key ,配置方法請看下面。

1. 查看是否已經生成過 SSH Key

ls ~/.ssh

如果如下圖顯示有 id_rsa 和 id_rsa.pub 這兩個文件,就表示已經生成過,可以直接跳過 生成 SSH Key 這一步。

Paste_Image.png

2. 生成 SSH Key

如果上一步驗證沒有生成過 SSH Key 的話,就輸入以下命令來生成 SSH Key :

/* 下面郵箱改成你自己的個人郵箱就行 */
ssh-keygen -t rsa -C "292710547@qq.com"

第一次生成的話,直接一路回車,不需要輸入密碼。不是第一次生成的話,會提示 overwrite (y/n)? 問你是否覆蓋舊的 SSH Key ,直接填 y ,然后一直回車就行了,出現如下圖就代表 SSH Key 已經生成。

Paste_Image.png

生成以后,~/.ssh 路徑下會多出 id_rsa 和 id_rsa.pub 這兩個文件, id_rsa 中存的是私鑰, id_rsa.pub 中存的是公鑰。

3. 將私鑰添加到 ssh-agent

輸入以下命令打開 ssh-agent :

eval "$(ssh-agent -s)"

輸入以下命令將私鑰添加到 ssh-agent:

ssh-add ~/.ssh/id_rsa

4. 將公鑰添加到遠程倉庫

以 GitHub為例,使用文本編輯器打開 ~/.ssh
路徑下 id_rsa.pub
這個文件,將里面的公鑰復制,然后打開 GitHub
的個人設置,如下圖將公鑰添加即可。

注意: ~/.ssh這個文件夾是默認隱藏的,如果找不到的話可以使用以下命令,直接復制 id_rsa.pub 中的內容。

/* macOS 系統 */
pbcopy < ~/.ssh/id_rsa.pub

/* windows 系統 */
clip < ~/.ssh/id_rsa.pub

/* Linux 系統 */
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

添加完 SSH Key 以后,你就可以開始使用 SSH 方式 clone 代碼了,之后 commit 提交代碼再也不用輸入密碼了,但是如果你之前代碼是用 Https 方式 clone 下來的,需要用 SSH 方式重新 clone 一下,或者修改 .git 文件夾下 config 中的 url 才行,如何修改我就不說了,嫌麻煩就直接重新 clone 吧。


具體方法就是這樣,并不麻煩,一般來說一臺電腦只需要生成一次 SSH Key 就行了,不同的 Git 遠程倉庫都添加這同一個 SSH Key 就行了,有什么問題或者建議可以提出來。

如果發現不能使用SSH,只能使用HTTPS也能解決,具體看這篇解決SourceTree HTTPS每次push都要輸密碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。