ssh-keygen生成两个key pair分别用于链接公司gitlab和自己的github库
来源:互联网 发布:英语词汇记忆 知乎 编辑:程序博客网 时间:2024/04/27 15:02
问题背景
通常情况下,git仓库如github都是通过使用SSH协议与客户端连接,就是说使用ssh-keygen生成一个密钥对,将公钥id_rsa.pub放到仓库的项目里,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。验证通过后,本地仓库就可以与服务器进行数据交换了。
但是在实际工作中,一般公司都会搭建私有的git仓库(gitlab.xxx.com),于是就会存在这样的情况,在github有你私人的账号,比如我的是liuchunming033,而公司的gitlab中有我的工作账号liuchunming。
在同一台电脑上,我们不能指望通过ssh-keygen生成的一对密钥对,既能访问github又能访问公司私有的gitlab。
解决办法
必须对每个账号分别生成独立的公钥密钥对。在链接到github时,使用账户liuchunming033的公钥密钥对,链接到公司搭建的gitlab时,使用账户liuchunming的公钥密钥对。
首先,进入~/.ssh目录下
cd ~/.ssh
生成用于访问github的密钥对id_rsa,id_rsa.pub。
ssh-keygen -t -rsa -C 'liuchunming033@163.com'
再生成用于访问公司搭建的gitlab的密钥对id_rsa_xxx,id_rsa_xxx.pub。
ssh-keygen -t rsa -C 'liuchunming@xxx.com' -f id_rsa_xxx
将生成id_rsa.pub添加到的github的账号Settings中, 将生成的id_rsa_xxx.pub添加到的gitlab的账号Settings中。
然后在~/.ssh 目录下创建config文件,该文件用于配置私钥对应的服务器。内容如下:
Host gitlab.xxx.com ##可以随意命名,链接时使用这个名字
HostName gitlab.xxx.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa_xxx
Host github.com
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa
至此,大功告成。
当链接到gitlab.xxx.com上的仓库时,会使用id_ras_xxx验证远端的公钥是否匹配。而链接到github.com上的仓库时,则使用id_ras验证远端的公钥是否匹配。
- ssh-keygen生成两个key pair分别用于链接公司gitlab和自己的github库
- 生成github的 ssh key
- 利用ssh-keygen生成 SSH Key
- GitHub/GitLab创建ssh链接
- 如何使用ssh-keygen生成key
- github的使用:生成SSH Key
- 创建SSH Key连接github或gitlab
- 创建SSH Key连接github或gitlab
- github/gitlab 管理多个ssh key
- 创建SSH Key连接github或gitlab
- github/gitlab 管理多个ssh key
- github/gitlab 管理多个ssh key
- GitLab & GitHub同时存SSH Key
- 创建SSH Key连接github或gitlab
- GitHub/GitLab 同时创建 SSH Key
- 在Windows7下使用PHPStorm和GitLab生成SSH key的步骤
- win7生成ssh key配置到gitlab
- CentOS 7 生成SSH连接GitHub的SSH-key
- Android 自定义控件时出现: Caused by: java.lang.NoSuchMethodException
- 关于 select()函数
- 在html中一个汉字需要多少个nbsp来填充?
- RESTful API 设计最佳实践
- SDAutoLayout:比masonry更简单易用的自动布局库
- ssh-keygen生成两个key pair分别用于链接公司gitlab和自己的github库
- 客户端短视频拍摄、上传、下载,播放完整方案
- ubuntu全自动创建Redis集群脚本slaveof
- Activiti工作流之异常处理一
- 如何把pdf转成jpg格式的图片
- Gradle详解-Chapter17. More about Tasks
- 97.获取手机设备的详细信息
- 在XCode中设置忽略signal SIGPIPE错误
- PHP 时间函数