github/gitlab 管理多个ssh key

本文介绍如何在一台机器上配置多个SSH Key,以便分别用于GitHub和公司内部的GitLab。通过生成不同名称的密钥对,并在~/.ssh/config中设置对应的Host映射,实现对不同平台的认证。
摘要由CSDN通过智能技术生成

以前只使用一个 ssh key 在github上提交代码,由于工作原因,需要再添加一个ssh key在公司的 gitlab上提交代码,下面记录下配置过程,防止遗忘。

生成并添加第一个ssh key
第一次使用ssh生成key,默认会在用户~(根目录)下生成 id_rsa, id_rsa.pub 2个文件;所以需要添加多个ssh key时也会生成对应的私钥和公钥。

$ ssh-keygen -t rsa -C “youremail@yourcompany.com”
在Git Bash中执行这条命令一路回车,会在 ~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 两个文件,用文本编辑器将 id_rsa_pub 中的内容复制一下粘贴到github(gitlab)上。

生成并添加第二个ssh key
$ ssh-keygen -t rsa -C “youremail@gmail.com”
注意不要一路回车,要给这个文件起一个名字, 比如叫 id_rsa_github, 所以相应的也会生成一个 id_rsa_github.pub 文件。

添加私钥
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_github
如果执行ssh-add时提示”Could not open a connection to your authentication agent”,可以现执行命令:

$ ssh-agent bash
然后再运行ssh-add命令。

可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l

可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D
修改配置文件
在 ~/.ssh 目录下新建一个config文件

touch config
添加内容:

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

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
测试
$ ssh -T git@github.com
输出
Hi user! You’ve successfully authenticated, but GitHub does not provide shell access. 就表示成功的连上github了

原文转载自:http://www.cnblogs.com/fanyong/p/3962455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值