SSH Key与电脑、Git账号的关系
一对SSH Key对应一组【电脑+Git账号】。
举个例子,现有电脑1、电脑2,Git账号a@email.com、b@email.com。(a@email.com、b@email.com是git账号的注册邮箱)
要让电脑1能访问a@email.com的项目,需要在电脑1上生成a@email.com的SSH Key:
$ ssh-keygen -t rsa -C "a@email.com"
生成的公钥文件*._pub里末尾是a@email.com,把公钥内容添加到a@email.com账号的SSH Key列表里,电脑1就能访问a@email.com账号下的项目了。
这时换电脑了,想在电脑2上访问a@email.com,需要在电脑2上把上面的过程在做一遍。
回到电脑1,想让电脑1能访问b@email.com的项目,需要在电脑1上生成b@email.com的SSH Key:
$ ssh-keygen -t rsa -C "b@email.com"
生成的公钥文件*._pub里末尾是b@email.com,把公钥内容添加到b@email.com账号的SSH Key列表里,电脑1就能访问b@email.com账号下的项目了。
问题来了,提交代码时,怎么知道用哪个账号哪个SSH Key呢?往下看。
同台电脑管理多个Git账号、多个SSH Key
假设现在有两个git账号a@email.com