MacOS下配置Github多账号教程

使用GIthub的过程中,有时会出现同时用到多个账号的情况,这次介绍下怎样在MacOS下配置多个账号。

  • 生成ssh key
1
2
3
4
5
6
7
8
$ cd ~/.ssh

#用另一个github账号生成key
$ ssh-keygen -t rsa -C "second@gmail.com"

Generating public/private rsa key pair.
#此处需要输入另一个私钥文件的名称,不能用默认的id_rsa
Enter file in which to save the key (/Users/asir/.ssh/id_rsa): id_rsa_website
  • 将新的ssh key添加到ssh agent中,使ssh能识别新的私钥
1
$ ssh-add ~/.ssh/id_rsa_website
  • 配置config文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ vim config

#以下为config内容
#Default Github(tyrival@qq.com)
Host github.com #第一域名
HostName github.com #固定值,不修改
User git #固定值,不修改
IdentityFile ~/.ssh/id_rsa #第一个私钥文件路径

#Website(tyrival@vip.qq.com)
Host website.github.com #第二域名,自由定义,使用git时要用到
HostName github.com #固定值,不修改
User git #固定值,不修改
IdentityFile ~/.ssh/id_rsa_website #第二个私钥文件路径
  • 在Github中添加公钥,这个遇到Github改版有可能会变化,就不具体说了,可以在网上查询最新的方法
  • 测试两个域名
1
2
3
4
5
6
#符号'@'后跟的域名就是config中配置的两个Host
$ ssh -T git@github.com
$ ssh -T git@website.github.com

#出现下面的消息就说明成功了
Hi tyrival! You've successfully authenticated, but GitHub does not provide shell access.
  • 使用git方法
1
2
#其中用到的域名替换为config中对应的host参数值
$ git clone website.github.com:tyrival/sample.git
  • 如果使用Hexo,提交时可能会出现下列错误
1
2
3
4
5
6
7
8
9
Error: remote: Permission to tyrival/tyrival.github.io.git denied to tyrivalhome.
fatal: unable to access 'https://github.com/tyrival/tyrival.github.io.git/': The requested URL returned error: 403

#我修改了一下Hexo/_config.yml文件就正常了,不知道是不是问题所在
deploy:
type: git
repository: git@github.com:tyrival/tyrival.github.io.git
branch: master
#repository原本是http的路径,改成git@xxx就好了
分享到