有時我們一台mac上可能會對應多個git賬號,這時就需要mac上面創建不同的key來對應不同的git賬號。
閑言不語,直接說實現步驟:
1.打開終端,前往.ssh目錄
➜ cd .ssh
➜ .ssh
2.生成一個ssh-key
➜ ssh-keygen -t rsa -C "youremail@email.com"
后面填寫的是你的郵箱賬號
3.自定義生成的key
如果我們 Mac 上面已經有了 ssh-key 再創建 ssh-key 的話,默認會在 ~/.ssh/ 目錄下生成 id_rsa 和 id_rsa.pub 兩個文件,如果不自定義,就會把原有的給覆蓋掉。為了加以區分,我們需要自定義一下生成的 key 的名字,后面的id_rsa_test_github為你自定義的名字
Enter file in which to save the key (/Users/a-375/.ssh/id_rsa): id_rsa_test_github
4.設置密碼
需要輸入兩次密碼,輸入密碼時是看不見的,這個密碼在你提交代碼到Github時會用到【注意:記住這個密碼,最簡單的方式就是設置的和github賬戶登入密碼一樣,容易記住】
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
5.成功生成ssh-key
Your identification has been saved in /Users/xxx/.ssh/id_rsa_test_github.
Your public key has been saved in /Users/xxx/.ssh/id_rsa_test_github.pub.
The key fingerprint is:
SHA256:/e91V1xop8k8wowRYJeJmEUrTTda32Pgr+EXboCNl3g youremail@email.com
The key's randomart image is:
+---[RSA 2048]----+
| =*o*o. |
| o+.*o= o . |
| . + . o * o|
| . . X B *.|
| S * E O o|
| = * o.|
| + + +|
| + .o|
| .o |
+----[SHA256]-----+
6.將ssh-key添加到ssh-agent
(1)到上面這一步我們已經創建好了 ssh-key,此時還需要將新的 ssh-key 添加到ssh agent ,因為默認只讀 id_rsa,首先查看一下已經添加進去的 ssh-key,當出現下面 這種情況是說明 ssh agent 里面並沒有把我們新生產的 ssh-key添加進去
➜ ssh-add -l
The agent has no identities.
(2)可以選擇把我們生成的 ssh-key 添加進去,也可以指定添加
//全部添加
ssh-add
//指定添加(可以切換到.ssh下添加,也可以直接指定路徑添加)
➜ .ssh ssh-add id_rsa_test_github
Enter passphrase for id_rsa_test_github:
Identity added: id_rsa_test_github (id_rsa_test_github)
(3)這時輸入下面指令就能看見我們添加進去的 ssh-key
ssh-add -l
接下來將我們配置好的ssh-key的公鑰提交到github上並進行測試連接
在 ~/.ssh/ 目錄下會生成 id_rsa_test_github 和 id_rsa_test_github.pub 私鑰和公鑰。 我們將 id_rsa_test_github.pub 中的內容粘帖到 github 的 SSH-key 的配置中,這里獲取 id_rsa_test_github.pub 的內容可以使用終端也可以使用 sublime 或 atom 等一些編輯器。
1.獲取公鑰
➜ .ssh cat id_rsa_test_github.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoG4Tmo8wF3P9/Vdtsm220jE6dNu9iG8jtranZccTO4hsyck4cxO02AniYr7JaPsL91sLCODEhnEmI+YWLSXFIaPbXVyVEa3PHc+VdNjgkkm/unkoBKsMLViP0vOUtU2OSYAdlWAoXpAyzPV17W0ratFVkHTjr1+G4NHOCo/qKbozPaHH9gaed7RB1Kx8swPkt0HGv/o9NQh7psmNPaanqMlTqA0uVS47LbCF5+C0CAgj2bFGEHtKy8cw6M+7OHBaTq90d740IBNca1fIvIDTnjsSV26iOiluQ+jVfsHuHmaAuw7ez2z/84sb+r5RtP5kjMemlw2D+/FmbFqx8qXDt youremail.com
2.復制公鑰
3.在GitHub的設置中粘貼公鑰
4.測試
➜ ssh -T git@github.com
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.