背景

当有多个git账号时,比如:

a. 两个gitee,一个账号是用于公司内部的工作开发,一个账号是自己学习的个人账号;

b. 一个github,用于自己进行一些开发活动;

操作:

生成不同的key

ssh-keygen -t rsa -C "whm2416@qq.com" -f ~/.ssh/gitee_haimait_id_rsa #gitee个人
ssh-keygen -t rsa -C "company" -f ~/.ssh/gitee_company_admin_id_rsa #gitee公司
ssh-keygen -t rsa -C "github_whm2416@qq.com" -f ~/.ssh/github_haimait_id_rsa #github个人
haima@haima-PC:~/.ssh$ ll
总用量 64
drwx------ 2 haima haima 4096 1月 19 23:51 .
drwxr-xr-x 94 haima haima 28672 1月 19 23:46 ..
-rw-r--r-- 1 root root 377 1月 19 23:48 config
-rw------- 1 haima haima 1679 1月 16 01:30 gitee_haimait_id_rsa
-rw-r--r-- 1 haima haima 396 1月 16 01:30 gitee_haimait_id_rsa.pub
-rw------- 1 root root 1823 1月 20 23:55 github_hm_bmh_id_rsa
-rw-r--r-- 1 root root 398 1月 20 23:55 github_hm_bmh_id_rsa.pub
-rw------- 1 haima haima 1675 4月 23 2020 gitee_company_id_rsa
-rw-r--r-- 1 haima haima 396 4月 23 2020 gitee_company_id_rsa.pub

添加配置文件config

sudo vim ~/.ssh/config

添加如下内容

# gitee公司密钥
Host gitee_company.com #自己启的别名,下载clone时需要用到
HostName gitee.com #写死定值 码云的域名
PreferredAuthentications publickey #写死定值
IdentityFile ~/.ssh/gitee_company_id_rsa #对应的密钥名称 # gitee self密钥
Host gitee_haimait_id_rsa
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_haimait_id_rsa # github self密钥
Host github_hm_bmh_id_rsa
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_hm_bmh_id_rsa

分别把公钥添加到对应账号的仓库里

测试

haima@haima-PC:~/.ssh$ ssh -T git@gitee_haimait_id_rsa
Hi haimait! You've successfully authenticated, but GITEE.COM does not provide shell access.
haima@haima-PC:~/.ssh$ ssh -T git@gitee_company.com
Hi LinkBook! You've successfully authenticated, but GITEE.COM does not provide shell access.
root@haima-PC:~/.ssh# ssh -T git@github_hm_bmh_id_rsa
Hi haimait! You've successfully authenticated, but GitHub does not provide shell access..

使用ssh方式下载项目

  1. 工作帐号示例:

    git clone git@gitee_company.com:xxx/yyy.git

  2. 个人帐号示例:

    git clone git@gitee_haimait_id_rsa.com:aaa/bbb.git

    例如:

    git clone git@gitee_haimait_id_rsa:haima1004/mindoc.git

    or

    git@github_hm_bmh_id_rsa:haimait/docker-compose.git

    最后的最后注意:在项目的git配置文件覆盖全局的git配置文件,主要是用户名的配置。

参考:

Git配置多个SSH-Key

https://gitee.com/help/articles/4229#article-header0

如何在同一台电脑上设置两个gitee帐号的ssh-key

https://www.cnblogs.com/verdent/p/13736662.html

https://www.jianshu.com/p/842dfea81bf5?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

https://www.yuque.com/menew/kd0ic7/evlktg

github、gitee冲突配置ssh key的更多相关文章

  1. github with msysgit:配置SSH Key

    Step 1: Check for SSH keys First, we need to check for existing ssh keys on your computer. Open up G ...

  2. git配置ssh key并从github.com拉取repos

    一.配置ssh key 1. 进入当前用户目录cd ~2. 生成ssh keyssh-keygen -t rsa -C "ABC@qq.com"ABC@qq.com账号必须是你登录 ...

  3. window下配置SSH连接GitHub、GitHub配置ssh key(转)

    转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...

  4. 解决GitHub未配置SSH key提示错误信息

    git push -u origin master Permission denied (publickey). fatal: Could not read from remote repositor ...

  5. 【Linux】配置SSH Key到GitHub/GitLab

    Linux配置SSH Key到GitHub/GitLab 准备工作 首先检查下本机是否已经安装了SSH,在终端输入ssh即可: 如果没有安装进行yum安装 # yum -y install opens ...

  6. SSH连接GitHub并配置ssh key

    SSH连接GitHub并配置ssh key 配置git的ssh提交,主要需要以下三步: 1.设置Git的user name和email 2.生成ssh 3.配置git 的ssh key 一.设置Git ...

  7. window下配置SSH连接GitHub、GitHub配置ssh key

    window下配置SSH连接GitHub.GitHub配置ssh key   此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...

  8. git配置SSH Key,上传本地代码至github

    git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...

  9. GitHub如何配置SSH Key

    https://github.com/xiangshuo1992/preload.git git@github.com:xiangshuo1992/preload.git 这两个地址展示的是同一个项目 ...

  10. Git配置SSH Key

    最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律.这儿自己单独记录一份. Git配置SSH Key 1.检查本机是否有ssh key设置,切换到.ssh目录 $ cd ~/.ssh 或cd ...

随机推荐

  1. UEFI引导双系统安装archlinux后安装windows8.1,os-prober无法探测,生成grub.cfg没有windows

    1.os-prober无法探测 可能是os-prober未启用 启用os-prober: sudo vim /etc/default/grub 添加: GRUB_DISABLE_OS_PROBER=f ...

  2. LCD - 液晶显示原理(一)

    1. 显示器介绍 ​ 显示器属于计算机的I/O设备,即输入输出设备.它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具.常见的有CRT显示器.液晶显示器. LED点阵显示器及OLED显示器. 液 ...

  3. #主席树#CF813E Army Creation

    题目 \(n\) 个数 \(a_i\) , \(k\) 为给定值, \(q\) 次询问. 每次问 \([l,r]\) 内最多可以选多少个数, 满足同一个数的出现次数不超过 \(k\) 不带修,强制在线 ...

  4. 准备Python环境学习OpenCV的使用

    安装venv模块,执行如下命令: sudo apt-get install python3-venv 创建venv环境,命名为images,执行如下命令: python3 -m venv images ...

  5. Java中的类型推断和lambda表达式

    目录 简介 类型的显示使用 Stream中的类型推断 类型推断中变量名字的重要性 类型推断对性能的影响 类型推断的限制 总结 简介 java是强类型的编程语言,每个java中使用到的变量都需要定义它的 ...

  6. SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示

    SQL MIN() 和 MAX() 函数 SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别.以下是它们的用法和示例: MIN() 函数 MIN()函数返回所选列的最小值. ...

  7. RabbitMQ 07 发布订阅模式

    发布订阅模式 发布订阅模式结构图: 比如信用卡还款日临近了,那么就会给手机.邮箱发送消息,提示需要去还款了,但是手机短信和邮件发送并不一定是同一个业务提供的,但是现在又希望能够都去执行,就可以用到发布 ...

  8. C++执行Linux命令

    一.执行简单命令 比如需要创建文件.文件夹.删除文件 #include <iostream> #include <stdio.h> #include <stdlib.h& ...

  9. 堆结构(Heap)的基本实现【数据结构与算法—TypeScript 实现】

    笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 概念 本质:一种特殊的树结构,由 完全二叉树 实现 多数情况为二叉堆 二叉堆:最大堆.最小堆 最大堆:堆上的每个节点都的 ...

  10. VMware Workstation之虚拟机NAT模式

    [摘要] 三台虚拟机配置成NAT模式,实现三台虚拟机互通并可以访问互联网. 一.虚拟机配置为NAT,实现访问互联网和宿主机 1.虚拟网络编辑器配置 VMnat8为NAT的虚拟网卡,NAT模式可以基于D ...