【问题】rsa公钥只能在一个github账号使用,但是同一个本地windows账号想把代码上传到两个不同的github账号
【解决方法】
ssh-keygen -t rsa -f ~/.ssh/second_rsa_key
得到两个文件, second_rsa_key(私钥)和 second_rsa_key.pub (公钥)
将 second_rsa_key.pub 中的内容注册到第二个github账号中
然后在~/.ssh/config中加入以下配置
Host github2.com
HostName github.com
User git
IdentityFile C:\Users\<windows_username>\.ssh\second_rsa_key
我们为github.com起了一个别名github2.com
可以通过以下指令检验是否成功配置:
$ ssh -T github2.com
Hi <github_username>! You've successfully authenticated, but GitHub does not provide shell access.
当我们有一个仓库想上传到第二个github账号时:
git remote add origin git@github2.com:<github_username>/<github_reponame>.git
这样会自动使用私钥 second_rsa_key 而不是 id_rsa。最后:
git push origin master
另外,commit时可以切换作者,如下:
git commit --author "John Doe <john@example.com>"