場景:有多個github賬號,比如公司一個,私人一個。現在想在同一台主機上同時維護公司的和私人的repo 大家可能會嘗試把一個公鑰貼到兩個github賬戶,實踐告訴我們
Key is already in use
解決辦法:
-
生成第二個key ssh-keygen -t rsa -f ~/.ssh/id_rsa.est
-
編輯ssh_config vim ~/.ssh/config 粘貼下邊的東東: Host estgit HostName github.com User git IdentityFile "~/.ssh/id_rsa.est" IdentitiesOnly yes
- 用這個方式來操作git:git clone estgit:/username/repo ,或者編輯 .git/config 裡邊的 remote - url
git:git clone estgit:/username/repo 中的 estgit 需要跟 ~/.ssh/config 裡面的 Host 名稱 estgit 一致
用這個方式來操作git:git clone estgit:/username/repo ,或者編輯 .git/config 裡邊的 remote - url 原理就是,指定一個ssh的Host的單獨IdentityFile,然後因為git是基於ssh的,所以用Host名稱連接github.com就會用那個單獨的公鑰了。