博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git/ssh 配置管理多个密钥
阅读量:6378 次
发布时间:2019-06-23

本文共 1494 字,大约阅读时间需要 4 分钟。

hot3.png

注意:在 cmd 下可能无法生效,尽可能的使用 git bash 或者 cmder 一类的

日常开发中,我们可能会使用不同的远程仓库来管理我们的项目:github,gitlab,gitee等。而且大家也更喜欢使用公钥的方式去免输出密码提交。虽然我们可以统一的使用同一个公钥注册到这些远端仓库,但分别使用不同的密钥更为可靠些,防止后期想要作废某远端仓库的密钥时其他仓库也受到影响。

在本地配置 ssh config 文件,不仅可以灵活的为不同仓库平台分别配置独立的密钥对儿,还可以给仓库平台的地址起个 alias。使用 gitlab 的同学可能体会过,自己公司的 gitlab 服务器域名可能太长了....

首先我们先创建三对儿秘钥,分别标示为对应的仓库平台。

#密钥对名称设为 id_rsa_githubssh-keygen -t rsa -C "github's key"#~/.ssh/id_rsa_github#~/.ssh/id_rsa_github.pub#密钥对名称设为 id_rsa_gitlabssh-keygen -t rsa -C "gitlab's key"#~/.ssh/id_rsa_gitlab#~/.ssh/id_rsa_gitlab.pub#密钥对名称设为 id_rsa_giteessh-keygen -t rsa -C "gitee's key"#~/.ssh/id_rsa_gitee#~/.ssh/id_rsa_gitee.pub

 创建 ~/.ssh/config 文件

# Host 配置块儿 Host 为设置 git clone git@# Host github.com    HostName github.com    User git    Port 22    IdentityFile ~/.ssh/id_rsa_githubHost gitlab.com    HostName gitlab.your-company-domain.com    User git    Port 22    IdentityFile ~/.ssh/id_rsa_gitlabHost gitee.com    HostName gitee.com    User git    Port 22    IdentityFile ~/.ssh/id_rsa_gitee

如上配置,我们在本地使用 git 客户端时,就可以根据 Host 字段所表示的别名,灵活的映射到对应的密钥对儿了。

比如你使用的是自己搭建的 gitlab 仓库,还要把域名约定成公司的子平台系统,就如配置文件中的 gitlab.your-company-domain.com,太长了。

直接使用的话那仓库地址类似这样子:

git clone git@gitlab.your-company-domain.com:group-name/project-name.git

但我们这里配置了映射,Host 起到了别名的作用,在 git 客户端中可以直接使用

git clone git@gitlab.com:group-name/project-name.git

去访问对应的仓库。

# 将生成的公钥分别保存到对应的仓库平台# 使用如下命令测试可否正常访问ssh -Tv git@github.comssh -Tv git@gitlab.comssh -Tv git@gitee.com

 

转载于:https://my.oschina.net/sallency/blog/1620818

你可能感兴趣的文章
Windows 10 新体验(一):Windows 10预览版安装
查看>>
rsync安装配置
查看>>
我的友情链接
查看>>
linux 下mount挂载硬盘分区格式为LVM
查看>>
CMPT8:如何验证和设置SQL Server?
查看>>
Kafka剖析(一):Kafka背景及架构介绍
查看>>
设置WebLogic启动内存
查看>>
nagios的工作场景及使用说明
查看>>
Zabbix 监控IIS性能实例讲解
查看>>
启用路由和远程访问后 远程桌面无法访问
查看>>
ACCP学习旅程之-----Java 数组(第八章节)
查看>>
华为USG6550的ipsec ***配置
查看>>
shell 特殊符号集锦
查看>>
我的友情链接
查看>>
如何将JDK源码导入到eclipse 或 Intellij idea呢?
查看>>
Web IDE: 强大的在线 Cloud IDE
查看>>
每天一个linux命令(13):less 命令
查看>>
脚本编程之一
查看>>
linux 上安装Nessus
查看>>
JFreeChart中文乱码
查看>>