文档章节

git 配置多个SSH-Key

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

     我们在日常工作中会遇到公司有个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

粉丝 65
博文 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
单行道
单行道
大赞,用的上😄
雪梦科技
雪梦科技
很不错的教程,感谢。
西南茂
西南茂
就生成一对密钥不就够用了吗,把公钥放服务器,私钥在自己机器,git项目里面指定remote就可以啊
cisiqo
cisiqo
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
github管理多个key

1、在github上创建仓库(自己上网搜) 2、在本地创建ssh key 注意: 不要三个回车就过去了,要起一个名字。 不填路径直接起一个名字就是生成在当前目录下。 3、把生成的密匙test和test.pub剪...

Shawn1in
2016/11/26
21
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
2
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部