git 多套公、私钥的配置以及使用
2017-02-08 16:59
260 查看
git 多套公、私钥的配置以及使用
git 多套公私钥的配置以及使用业务使用场景
步骤
检查是否已存在相应的ssh key
生成新的ssh key并添加至ssh-agent
在相应的账号中添加生成的ssh key
连接测试
非gitHub 的项目如何配置
FAQ
业务使用场景
在个人的实际开发中,我们通常会碰到这样的场景:一个人同时拥有github账号(个人的)和公司的git账号(公司私有仓库),或者某个人同时拥有多个github账号,在这种情况下,要想轻松简便地使用git,那么不可避免地要配置多套公、私钥(ssh key),甚至可以这么说,有几个git的账号,那么不可避免地就需要多少套公、私钥。在单独一个账号的情况下,我们默认都是使用id_rsa(私钥)和id_rsa.pub(公钥),显然默认的只能支持一个,那如果有多个账号了,那该怎么办呢?请看本文详解步骤
检查是否已存在相应的ssh key生成ssh key,并添加至 ssh-agent
在相应的账号中添加生成的ssh key
连接测试
FAQ
检查是否已存在相应的ssh key
打开终端输入
ls -al ~/.ssh
以我个人的为例:
可以看见,界面中列了3套ssh keys(其中一套打了马赛克��),一套默认的,一套github的,还有打马赛克的那一套。当然这是我安装过后的,假如你之前都没有安装过,理论上是一套都没有的,没有也没啥关系,我们自己生成就好了
核对列出来的ssh key是否有已存在的,假如你没有看到列出的公私钥对,或是不想再用之前的公私钥对,你可以选择下面的步骤生成新的公私钥对
生成新的ssh key,并添加至ssh-agent
打开终端使用ssh key生成命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
注意:后面的邮箱对应相应账号的邮箱,假如是github的账号,且注册账号的邮箱为xxxx@qq.com,则命令行为:
ssh-keygen -t rsa -b 4096 -C "xxxx@qq.com
接下来会提示你保存的ssh key的名称以及路径。默认路径是
(/Users/you/.ssh/id_rsa)(you为用户个人目录)。这一步很重要,如果你使用默认的,且下一个账号也是使用默认的路径和文件名,那么之前的ssh key就会被后来生成的ssh key重写,从而导致之前的账号不可用。因此,正确的做法是给它命名,最吼以应用名进行命名,因为更容易区分。以下是我个人配的:
/Users/hongqiangren./.ssh/github_rsa
接下来会提示设置ssh 安全密码。这一步可以使用默认的(即不设置密码),直接按回车即可。倘若想了解更多关于ssh key密码设置的细节,可访问: “Working with SSH key passphrases”
ssh key 生成后,接下来需要为ssh key 添加代理,这是为了让请求自动对应相应的账号。网上很多文章写到需要另外配置config文件,经本人亲测,其实是不需要的,在生成了ssh key后,通过为生成的ssh key添加代理即可,为ssh key 添加代理命令:
ssh-add ~/.ssh/xxx_rsa,xxx_rsa 是你生成的ssh key 的私钥名。下图以我自己的为例(本机为OS X系统)
在相应的账号中添加生成的ssh key
登录相应的git账号,此处以GitHub的为例,登录后点击用户图像,选择:Setting。登录GitHub:
找到SSH and GPG keys,点击并添加ssh key
获取生成的public key,打开终端,使用命令行:
cat ~/.ssh/xxxx.pub,此处以我个人的public key 为例:
复制该内容,并粘贴至上上图中的Key里面。然后点击保存
连接测试
接下来我们测试是否配置成功,打开终端,输入:ssh -T git@github.com
如果显示以上信息,那么恭喜你,公私钥已经成功配置! :-)
非gitHub 的项目如何配置?
对于非github类型的公、私钥配置,其实是大同小异,因涉及到保密,我不方便讲本公司的git公私钥配置贴出来(实际上与以上大同小异)。相信聪明的小伙伴能根据以上的信息配置自己公司的ssh keyFAQ
讲道理,之所以写这篇文章,是因为之前遇到了这个坑,在网上找的文章,发现各种抄来抄去,并没有实际地解决问题。既然我看到没有一篇让我感到爽,并能实际解决问题的文章,恰巧自己又刚好解决了相关问题,那倒不如自己写一篇。希望能帮助到某些小伙伴!贴上配置过程可能遇到问题以及解决办法链接
Troubleshooting With SSH
Error: Permission to user/repo denied
Error: Key already in use
Error: Agent admitted failure to sign
相关文章推荐
- Windows下配置Git以及cmd优雅的使用Git
- 关于IDEA的基本环境配置以及快速使用(git拉载程序,Jdk安装,tomcat部署,应用程序打包运行)
- Android Studio中Git的安装配置以及使用
- Git的配置以及使用技巧
- Mac环境下Android Studio配置Git以及最基本使用
- wi7下面配置 git bash使用ssh公钥/私钥登陆centos
- GIT 使用之 SSH 以及码云上配置 SSH
- git使用ssh方式clone时候的,配置公钥和私钥的原理
- 初次使用git配置以及git如何使用ssh密钥(将ssh密钥添加到github)
- Git的使用以及GitHub的配置
- Git的使用以及GitHub的配置
- Git安装及使用以及如何配置本地的Git服务器
- Git安装与配置以及与intellij的idea集成使用
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- SVN的安装配置 以及与MyEclipse 整合使用开发
- 文字编辑器FCKeditor 简介以及基本配置和使用方法
- busybox下mdev的使用以及mdev.conf的规则配置
- Git安装以及使用Git 管理个人文档
- Quartz.net官方开发指南 第十课: 配置、资源使用以及SchedulerFactory
- cmd使用cl编译的配置方法以及相关问题的解决方法