說明
git支持https和git兩種傳輸協(xié)議,github分享鏈接時(shí)會(huì)有兩種協(xié)議可選,如果使用https協(xié)議,每次pull, push都會(huì)提示要輸入密碼,如果使用git協(xié)議,然后使用ssh密鑰,這樣免去每次都輸密碼的麻煩。
方法
Git服務(wù)器都會(huì)選擇使用SSH公鑰來進(jìn)行授權(quán)。系統(tǒng)中的每個(gè)用戶都必須提供一個(gè)公鑰用于授權(quán),沒有的話就要生成一個(gè)。生成公鑰的過程在所有操作系統(tǒng)上都差不多。
1.生成密鑰對(duì)
$ cd ~/.ssh
$ ls
id_rsa known_hosts id_rsa.pub
# 查看一下是否有id_rsa和id_rsa.pub(或者名稱相同之類成對(duì)的文件),.pub 后綴的文件就是公鑰,另一個(gè)文件則是密鑰。
如果沒有對(duì)應(yīng)的文件,可以用ssh-keygen來創(chuàng)建
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/用戶名/.ssh/id_rsa):
#這邊可以直接按Enter或者輸入你要命名的文件名稱
然后,會(huì)提示你輸入密碼,如下:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
# 建議輸一個(gè),安全一點(diǎn),當(dāng)然不輸也行
設(shè)置好之后,如下
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
到此為止,你本地的密鑰對(duì)就生成了。
2.將SSH Key添加到ssh-agent
$ ssh-agent -s
$ ssh-add ~/.ssh/id_rsa
Identity added: /Users/用戶名/.ssh/mayun (/Users/用戶名/.ssh/id_rsa)
#如果新增的文件名稱自定義 則這邊id_rsa需要改成自定義的名稱
可以查看ssh-agent中的密鑰,檢測(cè)是否添加成功
$ ssh-add -l
2048 SHA256:21d3d5dEQ6urjtWVz/PYTTwshYUd40f6LpktHpxubA /Users/用戶名/.ssh/mayun (RSA)
還可以從ssh-agent中刪除多余的密鑰
$ ssh-add -d ~/.ssh/mayun.pub
Identity removed: /Users/用戶名/.ssh/mayun (your_email@youremail.com)
3.添加公鑰到你的遠(yuǎn)程倉庫(如github)
- 查看你生成的公鑰:
$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAtQ24lCDDtfqGx1k6SzXGiMaFC1yc2EAAAADAQABAAABAQCvv5eOTiFwkvoZtkotddOCo+uMGFrfkMssUbyRRYnYmp2l6hO8cZsrsQm0hwoZvpneCk6VB5G6CK+ULG5kwlKfTcdzQOEPy4WkRE8jhRhtR5QLZiqWN20dxTAXismXHYv7wQAbRcfuM7Z+RQvwBj46B3NzaRIxJsIZV4sVVq66rILGvcrbxH2wASLvnFoJhb43/29BxXGBxLPBC7Z5ej2+5T13JKj4+drDaluwoZSA1FMG0trq6OZwHdN+/isxgwrF8UpZOvtPq0GnRYjXG0GYI2xuUhpmxF37BfkB9KDE1lZ035zDNWJJf7OBaPQJ7kfJR your_email@youremail.com - 登陸你的github帳戶,在Settings找到SSH and GPG keys選項(xiàng),然后New SSH key
- 接著復(fù)制上面的公鑰內(nèi)容,粘貼進(jìn)“Key”文本域內(nèi),title隨意命名
- 點(diǎn)擊 Add key
4 驗(yàn)證下新增的key是否有生效
$ ssh -T git@github.com
如果看到如下
Welcome to GitLab,***!
恭喜你,你的設(shè)置已經(jīng)成功了