美文网首页
git配置多个ssh-key

git配置多个ssh-key

作者: issac_宝华 | 来源:发表于2017-03-19 19:44 被阅读0次

在公司上班项目是push到公司自己搭的gitlab,平时自己的项目是push到github。他们分别使用的是不同的账号。然后这样就导致有不同的ssh-key,

Paste_Image.png

在工作的这段时间,一直都是使用gitlab的账号,也是在做公司的项目,所以本地的ssh-key也是gitlab的。然后最近开始在github上写插件,原本我是认为只要将本地这个ss-key添加到github上面(ps:本地的ssh-key的email不是用github的email生成的,以为这是两个不同的账号),然后就可以push代码到github上,然而,并不可以。然后就开始一顿瞎搞。

查看全局配置的name和email命令:
git config --global --list

Paste_Image.png

查看全局配置
git config -l

Paste_Image.png
配置全局的name和email:
git config --global user.name "issac"
git config --global user.email "issaxite@gmail.com"

删除全局配置的name和email:
git config --global --unset user.name
git config --global --unset user.email

查看当前项目的配置:
git config --local --list
配置当前项目的name和email(非全局,全局的配置比当前项目的优先级要
![Uploading Paste_Image_669933.png . . .]
高):
git config user.name "issac"
$ git config user.email "issaxite@gmail.com"

生成新的ssh-key,使用:
ssh-keygen -t rsa -C "issaxite@email.com"
命令默认生成的话,会覆盖原有的ssh-key,因此为了共存,所以需要给新的ssh-key指定别名,有两种方法可以指定别名生成ssh-key:
1:

Paste_Image.png

2.ssh-keygen -t rsa -C "issaxite@your.com” -f ~/.ssh/github-rsa //直接一条命令指定。

以上的两条命令都会生成一个公钥(xxx.pub)和一个私钥

生成完之后,需要添加私钥:
ssh-add ~/.ssh/id_rsa_issaxite

如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以现执行命令(我是没有出现这个问题):

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

$ ssh-add -l

可以通过 ssh-add -D 来清空私钥列表

$ ssh-add -D
或者
ssh-agent bash
ssh-add ~/.ssh/id_rsa_issaxite

然后为了可以识别根据不同的服务识别不同的ssh-key,需要在.ssh文件夹下新建个config文件,个人认为这个config的相当于一个映射文件,看看配置的内容就明白:

gitlab

Host git.hingyin.com //这个和你的clone的ssh的域名相关

Paste_Image.png
HostName git.hingyin.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

github

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_issaxite

然后是将公钥添加到不同的git服务器,接着就可以测试一下,有没有成功配置:
ssh -T git@github.com

参考链接:
http://jingyan.baidu.com/article/948f592414ad67d80ef5f966.html
http://www.cnblogs.com/zichi/p/4704824.html
https://my.oschina.net/stefanzhlg/blog/529403
使用ssh-key的原因:
https://gold.xitu.io/post/58a8f3295c497d005fbd58b1

插曲:
一个公钥如果被一个github账号在使用,那么另外一个github账号就不能使用。

相关文章

  • Git配置多个SSH-KEY

    git可以配置多个ssh-key。 生成多个ssh-key命令 添加私钥

  • Git使用相关

    git 配置多个SSH-Key生成并部署SSH key Git 忽略一些文件不加入版本控制: 在Git中如果想忽略...

  • Github使用笔记

    一、配置Github环境 安装Git 配置ssh-key 检查ssh-key的设置 生成新ssh-key 添加ss...

  • Git配置多个SSH-Key

    有时候我们要管理多个git项目,或同时在用gitlab、github、小程序的tgit。当我们给一个项目配置了SS...

  • git配置多个ssh-key

    我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上,这样就导致我们要配置不同的ss...

  • git配置多个ssh-key

    在公司上班项目是push到公司自己搭的gitlab,平时自己的项目是push到github。他们分别使用的是不同的...

  • git配置多个SSH-Key

    我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上。这样就导致我们要配置不同的ss...

  • Git配置多个SSH-Key

    背景 当有多个git账号时,比如: a. 一个gitee,用于公司内部的工作开发;b. 一个github,用于自己...

  • Git配置多个SSH-Key

    1.根据邮箱地址生成不同的rsa key 2.在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中...

  • git 配置多个SSH-Key

    ssh-keygen -t rsa -C "xxx@xxx.com” -f ~/.ssh/xxx-rsa cd ~...

网友评论

      本文标题:git配置多个ssh-key

      本文链接:https://www.haomeiwen.com/subject/kvmgwttx.html