问题描述

公司项目使用代码仓库为gitinn/gitlab等,个人项目使用github进行托管,而公司项目和个人项目设置的邮箱和用户名是不同的,而ssh的密钥对又是基于这两个信息生成的,所以此时想要同时使用两个平台的代码仓库,则会显示仓库不存在或没有权限之类的报错。

刚开始是使用gitinn/gitlab作为仓库的,克隆github项目时会报错:

直接将将id_rsa.pub公钥加入到github中,但是仍然报错,继续克隆项目则会提示:

此时意识到,当前~/.ssh下的id_rsa和id_rsa.pub是配置成了gitinn/gitlab的密钥对,而github平台的ssh秘钥对是配置了github_rsa文件,所以需要生成该文件名的密钥对才能访问到github仓库

解决之道

(1)配置.ssh/config文件, 使得克隆不同平台项目时使用不同的秘钥文件

#gitinn
Host gitinn.com
Hostname git.gitinn.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa #github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa

(2)生成github_rsa和github_rsa.pub密钥对

ssh-keygen

具体执行流程:

(3)此时将生成的 ~/.ssh/github_rsa.pub文件放到github平台,然后测试是否有权限

ssh -T git@github.com

(4)克隆成功

最新文章

  1. SQLServer字符操作
  2. 1o_Samba
  3. Acadia Lab 6 轮盘游戏机
  4. JS客户端判断
  5. iOS-Runtime-Headers
  6. C# 编码转换 UTF8转GB2312 GB2312转UTF8
  7. Gold Coins 分类: POJ 2015-06-10 15:04 16人阅读 评论(0) 收藏
  8. Maven 和 Ant 的区别?
  9. Jquery 格式化时间
  10. jQuery—一些常见方法(3)【width(),innerWidth(),outerWidth()】
  11. 谈谈 jQuery 中的防冲突(noConflict)机制
  12. 模糊语意变数、规则和模糊运算--AForge.NET框架的使用(二)
  13. 优美序列(sequence)
  14. 【Java】字符串工具类
  15. CentOS7安装Jdk1.8
  16. 一,ESP8266下载和刷固件(基于Lua脚本语言)
  17. CentOS 7下升级MySQL5.7.23的一个坑
  18. Sublime Text 使用方法
  19. 《Python》 面向对象三大特性之继承
  20. 2015 PHP框架调查结果出炉,Laravel最受欢迎!

热门文章

  1. php面向对象精要(2)
  2. POJ2406(SummerTrainingDay10-I KMP)
  3. 基于react的标准form+table页面的请求流程图
  4. Android - Android Studio 解决访问被墙的问题
  5. Expo大作战(十三)--expo如何自定义状态了statusBar以及expo中如何处理脱机缓存加载 offline support
  6. 【前端】NodeJs包管理工具NPM
  7. SQL Server 中为何拥有db_owner权限的账号删除不掉数据库
  8. JavaScript、ES5、ES6的区别
  9. 小米正式开源 SQL 智能优化与改写工具 SOAR
  10. UNIX高级环境编程(11)进程控制(Process Control)- 进程快照,用户标识符,进程调度