页面

分类

SSH的Github多账户配置

2019/5/5, by wingfire ; 0 comments

又新开了一个github账户,以防不测。

习惯了使用ssh key访问Github,在给新账户添加ssh公钥的时候,Github禁止添加重复的密钥,换句话说,两个账户不可以共享同一个密钥。给不同的用户设置不同的密钥本来很简单:


Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa

但是这个对于Github的多账户不行,因为所有账户用的都是同一个ssh账户git。解决办法仍然是通过修改~/.ssh/config:


Host github.com-user1
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_user1

Host github.com-user2
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_user2

通过-userX这个Host后缀可以区分。


补充:

上面的内容根本没抓到要点,但是我当时在尝试的时候完全是因为意外导致的:我开启了SSH的ControlMaster,而ControlPath的编码方式又完全不能区分两者,导致某些时候错用了私钥才成功的。根本原因在于Host指定了别名,并且仓库URL链接中的github.com要替换成相应的别名,这样才能真正成功。这样机制上就完全搞明白是怎么工作的了,和Git本身没太大关系,主要是SSH的选择在起作用。

这么做对我来说是够用的,但不够友好和一般化。

添加评论:

 
 the email would not displayed
 

您可以使用 Markdown 语法。

您必须启用浏览器的 JavaScript 功能才能发表评论。