為什么要配置公鑰和私鑰:
Git使用https協(xié)議,每次pull, push都要輸入密碼,相當(dāng)?shù)臒?br> 使用git協(xié)議,然后使用ssh密鑰。這樣可以省去每次都輸密碼。
公鑰我們一般是給服務(wù)器的,他們到時(shí)候在權(quán)限中加入我給的公鑰,然后當(dāng)我從遠(yuǎn)地倉庫中下載項(xiàng)目的時(shí)候,我在git clone xxx的時(shí)候,那個(gè)服務(wù)器我通過他的綁定的公鑰來匹配我的私鑰,這個(gè)時(shí)候,如果匹配,則就可以正常下載,如果不匹配,則失敗.
大多數(shù) Git 服務(wù)器都會(huì)選擇使用 SSH 公鑰來進(jìn)行授權(quán)。系統(tǒng)中的每個(gè)用戶都必須提供一個(gè)公鑰用于授權(quán),沒有的話就要生成一個(gè)。
配置SSH keys
生成SSH Keys
打開終端
-
輸入命令
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"$ # 告訴你已經(jīng)生成了公交和私鑰 $ Generating public/private rsa key pair.$ # 讓你輸入一個(gè)名字來保存內(nèi)容,不用管,直接回車 $ Enter file in which to save the key (/Users/lidaze/.ssh/id_rsa):# 輸入一次密碼 Enter passphrase (empty for no passphrase): # 再輸入一次密碼 Enter same passphrase again:# 你的私鑰已經(jīng)保存在 /Users/lidaze/.ssh/id_rsa. Your identification has been saved in /Users/lidaze/.ssh/id_rsa. # 你的公鑰已經(jīng)保存在 /Users/lidaze/.ssh/id_rsa.pub. Your public key has been saved in /Users/lidaze/.ssh/id_rsa.pub.
檢查SSH Keys
打開終端
-
輸入命令
# 顯示出在.ssh文件下的文件,如果存在的話 $ ls -al ~/.ssh -
檢查是否存在以下文件
- github_rsa
- github_rsa.pub
- id_rsa
- id_rsa.pub
- known_hosts
如果不存在以上文件,則需要重新生成
添加SSH Keys到github賬戶中
-
拷貝公鑰
# 拷貝~/.ssh/id_rsa.pub文件內(nèi)容到剪貼板 $ pbcopy < ~/.ssh/id_rsa.pub粘貼出來內(nèi)容如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC019j/q2jJDqdargVVIUyLeKnTRua69RAPmAP1nSfoPe5kVmxu/5UqWIjU9gGAgxT+DOUGK6GJrQAutAI2bZ7sEl1PZ/deUcIUGl6hyyECo6u7uNe+TmoyrSMn08PgD1L+UtBQPOZAwRTmlxJ7y+tjG2Q0M7n/g6b0rtxkoFg24qhOPhWbuESgZT6jF6iSEFeBa0U7YTLqzCGLwSN8KwbJuGH+u/fNnu3v1gs78IOvqtjqqUO0rxXFp4TcoIuQInx5E2bQcqeFdwg4dKaceH+WRQFGSDShAE39vI+e+LH0EbxZVOVyzqnu/gSxEs1A3VyRVrgFk8msKGfwS/GeB/iwh9f8FFFhFPpC5ie674KjSAnBvsxAN0non+UuhHQWvjwhmXxJDVQoiIXvjwmMlrBF484GZpwdTBzuHWz/aK8RdwMRxKmb8cZ8X1UfvwYBRf4kR6iJDjCYz/33f/gD/AVTuMkgqdXJxrrqaBFvYLP6yH97csAS6/pukWRAhPPwrSj6Su+/ZKq4UjW4fThEg8cbKNOvEeuUmJXArVaeM8mYFobiUjylOKmwmjEMAdq3+ps8icNHYjf0IS1enExkkTHMqrtqIlI0ptMqSG4wyRhGj9cGjH1D6curi1C+GwJiQ9P8jBksXDW5a/a7CIGiyn5UQdZ3reEXQZ0g91pB4o9iZCQ== mail@lidaze.com 依次打開
Github網(wǎng)站->Settings->SSH And GPG Keys點(diǎn)擊
New SSH Key按鈕-
添加
Title和Key-
Title: 隨便輸入即可,如果是我自己的電腦,則可以輸入lidaze macbook -
Key: 粘貼即可
-
重新輸入Github的密碼即可
測(cè)試SSH的連接
打開終端
-
輸入命令
$ ssh -T git@github.com$ # 輸入一遍密碼 $ Enter passphrase for key '/Users/lidaze/.ssh/id_rsa':$ # 看到這樣的內(nèi)容,就代表成功啦 $ Hi lidaze! You've successfully authenticated, but GitHub does not provide shell access.?