如何在Macos下配置ssh管理多个github账号
介绍在MacOS上管理两个Github账号的ssh key的方法,主要操作就是在ssh的配置文件~/.ssh/config中指定两个不同的Host。
前提介绍
两个github账号,分别为carl.shen和jibing57,对应使用的key如下:
- carl.shen: id_rsa_carl_github_key
- jibing57: id_rsa_github
其中,carl.shen是默认账号,jibing57是第二账号。
ssh 配置
两个账号,在~/.ssh/config配置文件中对应的配置如下:
1 | Host "github.com" |
关键点就在于Host "jibing57.github.com"这一几个配置。
该设置的意思是: 当访问Host是jibing57.github.com, 需要使用key ~/.ssh/id_rsa_github来访问,但访问jibing57.github.com时,实际映射到的还是github.com。
通过使用Host别名来实现不同的key同时访问github.com。
git clone方式
以jibing57/my-private-repository这个测试私有仓库为例, 来看配置后git clone的用法。其中carl.shen和jibing57两个账号都有访问该测试仓库的权限。
以carl.shen账号的git clone命令如下:
1 | git clone git@github.com:jibing57/my-private-repository.git |
以jibing57账号的git clone命令如下:
1 | git clone git@jibing57.github.com:jibing57/my-private-repository.git |
两者的区别就在于,使用jibing57账号时,git@后面加的域名需要是在~/.ssh/config中配置的jibing57.github.com, ssh会根据jibing57.github.com这个Host,从配置文件中找到所要使用的对应的IdentityFile和User来进行访问github.com。