文档章节

git 配置多个SSH-Key

stefanzhlg
 stefanzhlg
发布于 2015/11/12 15:15
字数 397
阅读 15975
收藏 210

     我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上。这样就导致我们要配置不同的ssh-key对应不同的环境。下面我们来看看具体的操作:

 

1,生成一个公司用的SSH-Key     

$ ssh-keygen -t rsa -C "youremail@yourcompany.com” -f ~/.ssh/id-rsa

 

在~/.ssh/目录会生成id-rsa和id-rsa.pub私钥和公钥。 我们将id-rsa.pub中的内容粘帖到公司gitlab服务器的SSH-key的配置中。

 

2,生成一个github用的SSH-Key

$ ssh-keygen -t rsa -C "youremail@your.com” -f ~/.ssh/github-rsa

在~/.ssh/目录会生成github-rsa和github-rsa.pub私钥和公钥。 我们将github-rsa.pub中的内容粘帖到github服务器的SSH-key的配置中。

 

3,添加私钥

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

如果执行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

 

 

4,修改配置文件

在 ~/.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/github_rsa

5,目录结构

6,测试

$ ssh -T git@github.com

输出

Hi stefzhlg! You've successfully authenticated, but GitHub does not provide shell access.

就表示成功的连上github了.也可以试试链接公司的gitlab.

 

 

 

© 著作权归作者所有

共有 人打赏支持
stefanzhlg

stefanzhlg

粉丝 61
博文 110
码字总数 85559
作品 4
浦东
程序员
加载中

评论(16)

k
kyzgsky
一台本机配置了2个github账号,key也是生成了2对,可是总是默认读取第一个配置 求解。因为都是github上面的项目,所以 config 文件配置的hostname 都是 github.com 但是 host 一个配置的是git 另一个配置的是git1
h
hard_name
非常感谢,网上的好多教程没有添加私钥这步,结果怎么都找不到对应的私钥。总是出现Permission denied(public key)。利用$ ssh -v git@github.com 才发现找不到对应的私钥,所以匹配不上。
stefanzhlg
stefanzhlg

引用来自“blessjq”的评论

3,添加私钥
这里的私钥是什么东西,因为按照您前两个步骤,已经生成了两对私钥和公钥,怎么到了这一步还需要再增加私钥?这个私钥和上面两步中生成的私钥有啥区别,是干嘛用的?id_rsa_github这个东西是啥,你也没说
不好意思,文中有些小问题(秘钥的名称没有统一:id_rsa_github应改成github_rsa),已修正。
私钥是用于解密服务器端传过来的加密串的。第三部的意义:参考https://segmentfault.com/q/1010000000835302
blessjq
blessjq
3,添加私钥
这里的私钥是什么东西,因为按照您前两个步骤,已经生成了两对私钥和公钥,怎么到了这一步还需要再增加私钥?这个私钥和上面两步中生成的私钥有啥区别,是干嘛用的?id_rsa_github这个东西是啥,你也没说
stefanzhlg
stefanzhlg

引用来自“庄生dream”的评论

开源中国的码云的Host 和 HostName ,填什么?32

http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9#ssh-keys
庄生dream
庄生dream
开源中国的码云的Host 和 HostName ,填什么?32
单行道
单行道
大赞,用的上:smile:
snowdream
snowdream
很不错的教程,感谢。
西南茂
西南茂
就生成一对密钥不就够用了吗,把公钥放服务器,私钥在自己机器,git项目里面指定remote就可以啊
nidongwo-
nidongwo-
github上也有这个,我已经开始使用了 https://gist.github.com/jexchan/2351996
解决git本地多ssh key的问题

最近手上一个项目需要使用到一台服务器作为专用的部署服务器,在实施过程中遇到了一些问题,具体如下: 1. 服务器的ssh默认端口和项目git仓库的ssh端口不一致2. 部署需要使用项目提供的ssh k...

aaao
2016/03/21
0
0
GitHub账户设置多个SSH Keys

博客原文传送门:GitHub账户设置多个SSH Keys 针对不同的git代码库配置不同的的git name, email, 以及相应的ssh公私钥。满足同一台电脑或是同一个git 账户的不同用户提交。尤其适用于在公用电...

willheng
2017/11/30
0
0
Git - 生成ssh key步骤以及如何clone所有的远程分支

这里以配置github的ssh key为例: 1. 配置git用户名和邮箱 设置Git的user name和email: $ git config --global user.name "用户名" $ git config --global user.email "邮箱" 在config后加上...

君满楼001
2017/11/30
0
0
多账号配置SSH

博客地址 : 多账号配置SSH 简书地址 : 多账号配置SSH 快捷说明 熟练者忘记查询, 详细解析在下面模块 背景介绍 为什么要配置SSH 作为一个正常上班搬砖程序猿,Git 应该是目前主流的代码管理工...

__小___东邪___
2017/12/15
0
0
多个git托管平台同时使用时SSH Key的生成及添加

使用一个邮箱注册多个git代码托管平台,如:GitHub、Gitlab、码云等。在用户端,生成对应平台的的 时,会生成对应的 及 公钥文件(默认的密钥文件名取决于算法,此处默认使用RSA算法加密),...

Anyers
06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring详解

Spring详解(一)------概述 目录 1、什么是 Spring ? 2、Spring 起源 3、Spring 特点 4、Spring 框架结构 5、Spring 框架特征 6、Spring 优点   本系列教程我们将对 Spring 进行详解的介绍...

DemonsI
13分钟前
0
0
CentOS7系统Nginx安装

1、下载nginx,官方网站https://nginx.org wget https://nginx.org/download/nginx-1.14.0.tar.gz 2、下载Nginx Sticky Module,官方网站https://bitbucket.org/nginx-goodies/nginx-sticky-......

m_lm
16分钟前
0
0
使用zTree树控件(二)

1:treeNode.checked用于判断是勾选还是取消勾选。(treeNode指的是节点)

uug
17分钟前
0
0
export, import 和 export default的区别

ES6的两个功能: export 和 import export 对外输出模块 import 引入(加载)进来一个模块 一、export => import 单个变量 export var name = "lishi" 在其他文件里引用 import {name} f...

Js_Mei
22分钟前
1
0
打造RecyclerView的n级列表

先上效果图: 1.该多级列表的优势: 支持无限级列表展开 基于一个recyclerView实现 可以自定义每一级item的样式,定制化更强 2.设计的思路 数据结构List<ItemBean>,ItemBean类中有变量List<...

WelliJohn
31分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部