Github的SSH-KEY配置
本文最后更新于:2022年5月29日 上午
同一个Github账号下不同仓库使用不同的SSH KEY,或者一台机器上管理多个Github帐号的SSH Key配置操作
作者:黑夜之旅
链接:https://www.jianshu.com/p/ddd3122cb351
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
生成SSH Key
1 |
|
一台机器上管理多个Github帐号的SSH Key
如果你在一台机器使用两个github账号(比如私人账号abc和工作账号xyz),两个帐号用不同的SSH KEY,或者同一个Github账号下不同仓库使用不同的SSH KEY,还需要编辑一下配置文件~/.ssh/config:
1 |
|
解释此配置文件:
- Host: “personal.github.com”是一个”别名”,可以随意命名, 像
github-PERSONAL
这样的命名也可以; - HostName:比如我工作的git仓储地址是
git@code.sohuno.com:username/repo_name.git
, 那么我的HostName就要填”sohuno.com”; - IdentityFile: 所使用的公钥文件;
配置完毕,用下面的命令测试一下:
1 |
|
(1)为已经检出的repos指定github账号:
在已经检出的repos目录下执行:
1 |
|
修改.git/config并找到[remote "origin"]
,修改url
的值为:
1 |
|
其中, personal.github.com
就是在配置文件~/.ssh/config中的Host
项, 设置完成后, 在这个工程目录git push
会自动以此git帐号提交代码。
(2)使用指定账号clone已存在的repos:
- 使用指定账号clone一个已经存在的repos:
git clone git@personal.github.com:user_name/repos_name.git
, 上面命令中的”personal.github.com”就是在~/.ssh/config文件中指定的”Host”项, “user_name”是指定提交代码的账户名, 例如:
git clone git@personal.github.com
Cloning into ‘Vimrc’…
- 然后还需要config一下user.name和user.email, 进入repos目录执行:
1 |
|
以后在此repos下git push origin master
就是使用指定的用户push.
(3)使用指定账号init新的repos:
如果是新建一个仓储:在github.com创建一个新repos,
1 |
|
上面命令第4行: “personal.github.com”就是在~/.ssh/config文件中指定的”Host”项, “user_name”是指定提交代码的账户名.