同一台机器使用两个github帐号从终端推送代码到不同的仓库。
最好先把原来的sshkey删掉
ssh-add -D
生成新的sshkey,并添加到对应的github帐号
# user1的sshkey
ssh-keygen -t rsa -C "your_email_user1@youremail.com"
ssh-add ~/.ssh/id_rsa
user1一般是default user
# user2的sshkey
ssh-keygen -t rsa -C "your_email_user2@youremail.com"
ssh-add ~/.ssh/id_rsa_user2
查看sshkey, use1和user2都在列表中下面的才能继续
ssh-add -l
在 ~/.ssh文件中添加config文件,输入以下内容
#默认的sshky可以不用配置
Host github.com #Host相当于别名
HostName github.com #HostName填写github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa #私钥的路径
# 另外一个sshkey
Host new.github.com #记住这个Host后面需要用到
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_user2
config文件根据实际情况修改并保存。
第一个帐号是可以正常使用的,第二个需要修改主机名
git clone https://github.com/user2/mutiple_sshkey.git
git remote remove origin
将原来的主机名修改成ssh的方式
git remote origin set-url git@new.github.com:user2/mutiple_sshkey.git
注意:主机名new.github.com
这里要和config文件中配置的Host
一致。
ssh -T git@new.github.com
出现下面的提示基本就成功了。
Hi user2! You've successfully authenticated, but GitHub does not provide shell access.
接下就可以进行commit
push
等操作了。