初学github,最近想往朋友仓库push时,常常出现没有权限的情况。
并且一个sshkey只能被一个账号添加
于是自己摸索着配置了多个sshkey对应多个账号的方法。
如果有更好的方法或者不对的地方欢迎指出。
1. 首先生成一个新的sshkey
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/名字(如abc)
2. 在.ssh目录下会生成一个abc.pub和abc (.ssh目录一般位于C:\Users\windows\.ssh)
3. 在.ssh目录下进行config文件的配置(如果没有就新建一个,不用后缀名)
4. (以下是config文件的内容)
# 这个是原来的key
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id-rsa
# 这个是新加的key
# github_2
Host github_1.com (此处的host名是自己取的,你也可以自己改)
HostName github.com (gitlab的话写gitlab.com?)
PreferredAuthentications publickey
IdentityFile ~/.ssh/abc (这是你的key的路径名)
6. 配置完config后,到你的github的settings里新加一个sshkey
把这个key(.pub后缀)的内容复制过去
然后完事了
7. 创建远程仓库的时候url记得拿ssh的,不再用https的啦,
如:
git@github.com:name/project.git (这是原来直接复制过来的的url)
这时候要改一下:
git@github_1.com:name/project.git
这个github_1就是之前在config配置文件里修改的host
8. 然后就真完事了