為什么要配置公鑰和私鑰:
Git使用https協(xié)議,每次pull, push都要輸入密碼,相當?shù)臒?br> 使用git協(xié)議抱虐,然后使用ssh密鑰。這樣可以省去每次都輸密碼饥脑。
公鑰我們一般是給服務器的,他們到時候在權限中加入我給的公鑰,然后當我從遠地倉庫中下載項目的時候,我在git clone xxx
的時候恳邀,那個服務器我通過他的綁定的公鑰來匹配我的私鑰懦冰,這個時候,如果匹配,則就可以正常下載,如果不匹配,則失敗.
大多數(shù) Git 服務器都會選擇使用 SSH 公鑰來進行授權。系統(tǒng)中的每個用戶都必須提供一個公鑰用于授權谣沸,沒有的話就要生成一個刷钢。
配置SSH keys
生成SSH Keys
打開終端
-
輸入命令
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
$ # 告訴你已經(jīng)生成了公交和私鑰 $ Generating public/private rsa key pair.
$ # 讓你輸入一個名字來保存內(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
點擊
New SSH Key
按鈕-
添加
Title
和Key
-
Title
: 隨便輸入即可赋除,如果是我自己的電腦阱缓,則可以輸入lidaze macbook
-
Key
: 粘貼即可
-
重新輸入Github的密碼即可
測試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.
?