github/gitlab同时管理多个ssh key
发布在前端开发工具2014年11月4日view:6809
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

以前用github的ssh key,后来工作原因多了一个gitlab的账号,在绑定gitlab的ssh key时,发现将github的ssh key覆盖了。怎么同时绑定github和gitlab的ssh key,并不产生冲突呢? 今天找到了个小技巧,在.ssh目录下新建一个config文件配置一下,就能解决gitlab与github的ssh key的冲突。

生成并添加第一个ssh key

cd ~/.ssh
ssh  ssh-keygen -t ras -C "youremail@yourcompany.com"

这时可以一路回车,不输入任何字符,将自动生成id_rsaid_rsa.pub文件。

生成并添加第二个ssh key

$ ssh-keygen -t rsa -C "youremail@gmail.com"

注意,这时不能一路回车,否则邮箱将覆盖上一次生成的ssh key,给这个文件起一个名字, 比如叫 id_rsa_github, 所以相应的也会生成一个 id_rsa_github.pub 文件。 此时查看.ssh下的目录文件,发现多了id_rsa_githubid_rsa_github.pub两个文件。

添加私钥

$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_github

修改配置文件

在 ~/.ssh 目录下新建一个config文件

touch config

并添加以下内容

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

给github/gitlab上添加ssh key

查看ssh key执行cat id_rsa_github.pub内容,将文本内容拷贝到https://github.com/settings/ssh。生成ssh key的方法可以去看官方教程,这里不再赘述。

测试

$ ssh -T git@github.com

如果输出Hi xuyuan923! You've successfully authenticated, but GitHub does not provide shell access.,说明成功的连上github了。

评论
发表评论
5年前

5年前

在github项目中push和pull会访问gitlab仓库,而且user.name和user.email如何区别不同?

5年前

@Dpast 官方文档里有==!是我没认真看。

5年前
赞了此文章!
5年前
添加了一枚【评注】:这点帮助到了我!但是GitHub无法连接故障排除帮助文档也没有提到这点。我着实是个新手。谢谢你。
5年前

赞~

WRITTEN BY
PUBLISHED IN
前端开发工具

收集整理好用的前端开发工具。 git、chrome、webstorm、自动化部署工具等等。

我的收藏