Git作為當前最受歡迎的版本控制軟件,使用是很頻繁的。但每次使用git push等操作時都要輸入密碼,實在是挺麻煩的键科。本文對使用SSH與HTTPS兩種通訊協(xié)議討論一下免密碼配置闻丑。
注:這個過程在所有操作系統(tǒng)上都是相似的:)
SSH通信協(xié)議
GitHub版
許多Git服務(wù)器都支持使用SSH公鑰進行認證,當然也包括github勋颖。
首先你需要確認一下自己是否已經(jīng)擁有密鑰了嗦嗡,默認情況下,用戶的 SSH 密鑰存儲在其 ~/.ssh
目錄下饭玲。進入該目錄并列出其中內(nèi)容侥祭,你便可以快速確認自己是否已經(jīng)擁有密鑰:
$ cd ~/.ssh
$ ls
authorized_keys2 id_rsa known_hosts
config id_rsa.pub
我們需要尋找一對 id_rsa
或 id_dsa
命名的文件,其中一個帶 .pub
擴展名茄厘。 '.pub'文件是你的公鑰矮冬,另一個則是私鑰。如果沒有找不到這樣的文件(或者根本就沒有.ssh
目錄)次哈,我們可以通過 ssh-keygen
程序來創(chuàng)建它們胎署。
#郵箱可以隨便填
$ ssh-keygen -t rsa -C "xx@xx.com"
首先 ssh-keygen
會確認密鑰的存儲位置和文件名(默認是 .ssh/id_rsa
),然后他會要求你輸入兩次密鑰口令,留空即可窑滞。所以一般選用默認琼牧,全部回車即可。
接下來我們登陸到GitHub上哀卫,右上角小頭像->Setting->SSH and GPG keys中巨坊,點擊new SSH key。
Title:
可以隨便填寫此改,但最好起的名字能讓自己知道這個公鑰是哪個設(shè)備的趾撵。
Key:
將上面生成的.pub
文件中的所有內(nèi)容復(fù)制到這里。
點擊下面的Add SSH key即可带斑。
然后你就會發(fā)現(xiàn)可以免密碼訪問了
Git服務(wù)器
如果服務(wù)端是自己搭建的git服務(wù)器鼓寺,生成密鑰公鑰對的步驟是一樣的勋拟。
然后將生成的 .pub
文件內(nèi)容勋磕,導(dǎo)入到git服務(wù)器 /home/git/.ssh/authorized_keys
文件內(nèi),一行一個敢靡。
然后你就會發(fā)現(xiàn)git push 不再需要密碼了
搭建git服務(wù)器和相關(guān)免登陸的詳細步驟可參考我的另一篇 手把手教你搭建git服務(wù)器
HTTPS通信協(xié)議
上面講了SSH方式的免密碼挂滓,接下來講一下越來越常用的HTTPS方式的免密碼
新建文件并保存密碼
$ touch ~/.git-credentials
$ vim ~/.git-credentials
添加內(nèi)容
https://{username}:{passwd}@github.com
添加git配置
$ git config --global credential.helper store
查看~/.gitconfig文件變化
[credential]
helper = store
然后在嘗試一下git push不再在需要密碼了
git系列文章
git常用命令及使用心得
手把手教你搭建git服務(wù)器