當(dāng)mac 上的不同項(xiàng)目分別在不同的代碼管理平臺(tái)上時(shí)(比如, 項(xiàng)目A 在gitlab 上, 項(xiàng)目B 在github 上, 且兩個(gè)管理平臺(tái)的登錄賬號(hào)不相同時(shí)), 就需要對(duì)應(yīng)的配置他們不同的秘鑰.
1. 檢查是否存在SSH Key
cd ~/.ssh
ls
或者
ll
// 看是否存在 id_rsa 和 id_rsa.pub文件,如果存在朵栖,說明已經(jīng)有SSH Key
當(dāng)你已經(jīng)配置過一個(gè)或者過個(gè)項(xiàng)目的話, 應(yīng)該是類似下面這樣的:存在.ssh文件, 且存在默認(rèn)命名的公鑰和私鑰
2. 添加新的SSH Key
ssh-keygen -t rsa -C "你的郵箱A"
注意:
在終端輸入以上代碼Enter 后, 會(huì)有三步回車操作, 需要注意第一步操作
- 第一步Enter 代表確認(rèn)生成的ssh key 的名稱, 也就是出現(xiàn)
Enter file in which to save the key (/Users/xxx/.ssh/id_rsa):
這句話的時(shí)候, 要輸入新的秘鑰名稱, 否則名稱還是默認(rèn)的id_rsa 绍在、id_rsa.pub
// 一般都以下劃線 + 自定字符串即可(例如)
.ssh/id_rsa_tesest
三次Enter 之后就能得到如下截圖:
- 第二步Enter 代表打開該ssh 文件的密碼(直接回車代表沒有)
- 第三步Enter 代表密碼確認(rèn)
郵箱A 對(duì)應(yīng)的ssh key
最后, 只需要把郵箱A 對(duì)應(yīng)的秘鑰添加到郵箱A 登錄的托管平臺(tái)即可:
// 獲取key
cat id_rsa.pub
3. 當(dāng)使用xcode/ sourceTree 等工具直接管理新代碼時(shí), 可能會(huì)導(dǎo)致git 上不存在新的代碼管理平臺(tái)的賬號(hào)和密碼以及ssh key, 所以需要手動(dòng)配置一下
3.1 修改全局
// 設(shè)置git 的user name 和email
git config --global user.name "你的名字"
git config --global user.email "你的郵箱"
3.2 修改單個(gè)倉庫
cd 你需要的倉庫路徑下
git config user.name "你的名字"
git config user.email "你的郵箱"
3.3 當(dāng)設(shè)置完成以后, 還要手動(dòng)添加 ssh key 到git
// (xxx為自己的主機(jī)名)
ssh-add -k /Users/xxx/.ssh/id_rsa_tesest
注:
3.3 這種操作也能避免多次的輸入密碼, 因?yàn)槎啻蔚妮斎朊艽a, 就是因?yàn)榘踩B接沒有建立成功, 也就是缺少ssh key.
4. 注意點(diǎn)
- 現(xiàn)存問題: 當(dāng)電腦重啟后, 就會(huì)失去后添加的私鑰的認(rèn)證, 這時(shí)你提交或者拉取代碼的時(shí)候還需要驗(yàn)證, 一般情況下就是提示你輸入密碼.
- 解決辦法:
需要重新添加一下, 也就是再次執(zhí)行一下3.3 操作.
.End