由于需要,申请了多个github账号,但是都是在同一台电脑上操作,原来只有一个账号进行ssh操作时,推送没有遇到什么问题,现在有多个账号了,推送的时候就有点懵逼了,下面是根据网上的资料来进行多个账号,在本地配置ssh-key的操作过程。

单个账号的 ssh-key 配置可查看文章:github设置添加ssh

一、本地生成不同账号的秘钥信息

ssh-keygen -t rsa -C "xxx1@xx.com"  #账号1

ssh-keygen -t rsa -C "xxx2@xx.com" #账号2

邮箱替换成自己github账号的绑定邮箱。

运行上面命令后会让你输入一个文件名,用于保存生成的 SSH key 代码,如:

CopyGenerating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

如果是只有一个账号的时候,可以默认保存。

多个账号的时候可以在后面输入自己自定义的文件名,用来区分不同账号生成的秘钥。

输入文件名后,回车继续往下会提示你输入密码,可直接回车不输入密码。

多个账号都是同样的操作,操作结束后,就会在 ~/.ssh目录下生成多个秘钥。

二、将公钥添加到不同的github账号上

分别登陆自己github账号,然后将生成的公钥(.pub结尾的文件)添加到对应的账号下:

Settings —> SSH and GPG keys

三、配置 config 文件

单个账号时不需要配置,默认即可,多个账号时进行配置。

查看 ~/.ssh 文件下是否存在 config 文件,不存在的话新建一个,填写对应的配置信息:

Host coder.github.com  // 别名
HostName github.com // 服务器地址
User javage // github用户名
IdentityFile ~/.ssh/coder // 对应的秘钥地址 Host tester.github.com
HostName github.com
User tester
IdentityFile ~/.ssh/tester

四、添加 key 信息到 ssh-agent 中

因为默认只读取的默认生成的 id_rsa,为了让他能读取到修改过后的秘钥信息,需要添加到 ssh-agent中:

ssh-add ~/.ssh/coder // 对应的秘钥文件

ssh-add ~/.ssh/tester

在执行命令中如果提示:

Could not open a connection to your authentication agent.

需要执行下如下命令:

ssh-agent bash

然后继续执行之前的命令即可。

五、测试是否配置正确

ssh -T git@coder.github.com

ssh -T git@tester.github.com

这里使用的是别名来进行访问,git 可以通过 config 配置的信息来请求对应的账号。

请求成功提示:

$ ssh -T git@coder.github.com
Hi javaGe! You've successfully authenticated, but GitHub does not provide shell access. $ ssh -T git@tester.github.com
Hi testerggf! You've successfully authenticated, but GitHub does not provide shell access.

克隆项目:

$ git clone git@tester.github.com:testerggf/studygit.git
Cloning into 'studygit'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
Receiving objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0

多个github账号时,本地配置ssh-key的更多相关文章

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

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

  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. 解决GitHub未配置SSH key提示错误信息

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

  4. SSH连接GitHub并配置ssh key

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

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

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

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

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

  7. GitHub如何配置SSH Key

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

  8. github入门:设置添加ssh key<转>

    GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...

  9. Git配置SSH Key

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

随机推荐

  1. C# 如何写出一个不能被其他程序集继承的抽象类

    我需要限定某个抽象类只能在我程序集类实现,而不支持其他程序集实现,也就是我需要一个不能被继承的抽象类 在 C# 里面有抽象类和接口,这两个都是期望被继承才能被使用,而抽象类是可以做到只能在自己程序集和 ...

  2. Linux 内核完成 urb: 完成回调处理者

    如果对 usb_submit_urb 的调用成功, 传递对 urb 的控制给 USB 核心, 这个函数返回 0; 否则, 一个负错误值被返回. 如果函数成功, urb 的完成处理者(如同被完成函数指针 ...

  3. gitLab操作规范和项目流程

    刚做完一个项目并且艰难得上线,对整个项目流程和gitLab规范 有了一些心得,给新来的同学普及一下. 最先产品会写一篇需求文档,咱们要先看需求文档对项目有一个大致了解,然后产品喊后端.ui.前端  一 ...

  4. <Codeforce>1082A. Vasya and Book

    题目描述: Vasya is reading a e-book. The file of the book consists of nn pages, numbered from 11 to nn. ...

  5. 2019-6-23-win10-uwp-应用放到桌面

    title author date CreateTime categories win10 uwp 应用放到桌面 lindexi 2019-06-23 11:11:30 +0800 2019-06-2 ...

  6. 第四阶段:2.从零打造一款工具APP产品

    1.APP:安卓跟IOS(根据目标用户选择 ,那个先做哪个后做,APP的通过需要审核,其中也有很多技巧). 同时注意设计模版的使用(提高效率).竞品分析也是少不了的.

  7. 在Linux CentOS下如何安装tar.gz和RPM软件包

    1.安装tar.gz软件包: 在Linuxr(Centos下)如何安装tar.gz软件包,该方式实质上就是源代码安装方式,具体如下: 在Linux中使用wget命令下载要安装的文件,命令格式如下:wg ...

  8. 洛谷$P$2123 皇后游戏 贪心

    正解:贪心 解题报告: 传送门! 心血来潮打算把$luogu$提高历练地及其之前的所有专题都打通关,,,$so$可能会写一些比较水的题目的题解$QAQ$ 这种题,显然就套路地考虑交换相邻两个人的次序的 ...

  9. $Noip2010/Luogu1525$ 关押罪犯 贪心

    $Luogu$ $Sol$ 贪心.尽量把怨气值大的罪犯放到两个监狱,所以首先要按照怨气值从大到小排序.当扫描到两个罪犯已经被指定到同一个监狱时,就结束循环,这个怨气值就是答案.当然把怨气值大的两个罪犯 ...

  10. 记: Spring Data Jpa @OneToMany 级联查询被动触发的问题

    I have encountered a bug in using Spring Data Jpa. Specifically,when @OneToMany was used to maintain ...