當我們想要在一臺機器上開發多個不同的github項目時,我們就需要配置多個不同的公鑰。github站點限制了一個ssh公鑰只能在一個倉庫用一次,不然就會提示Key is already in use
。當我們在本機使用多個ssh公鑰時,又該如何管理呢?本文以我的一個項目在ubuntu18.04上的操作作爲演示。
基礎信息介紹
# ssh配置所在目錄
/home/ubuntu/.ssh/config
# 在github爲項目添加的ssh公鑰
/home/ubuntu/Projects/github-ssh-key/golang-todo/id_rsa
# github項目所在目錄,也就是git clone的那個目錄
/home/ubuntu/Projects/golang-todo
# 項目的地址
git clone [email protected]:panxl6/golang-todo.git
如果我們不做任何配置,那麼在git push
的時候,會使用id_rsa這個默認的公鑰。
配置ssh,指定公鑰文件
修改此文件,添加配置:$HOME/.ssh/config
Host github-golangtodo
HostName github.com
User git
IdentityFile /home/ubuntu/Projects/github-ssh-key/golang-todo/id_rsa
IdentitiesOnly yes
添加遠程倉庫
git remote add github-golangtodo git@github-golangtodo:panxl6/golang-todo.git
提交到遠程倉庫
git push -v github-golangtodo master