多个github账号时,本地配置ssh-key
由于需要,申请了多个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的更多相关文章
- window下配置SSH连接GitHub、GitHub配置ssh key
window下配置SSH连接GitHub.GitHub配置ssh key 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...
- git配置ssh key并从github.com拉取repos
一.配置ssh key 1. 进入当前用户目录cd ~2. 生成ssh keyssh-keygen -t rsa -C "ABC@qq.com"ABC@qq.com账号必须是你登录 ...
- 解决GitHub未配置SSH key提示错误信息
git push -u origin master Permission denied (publickey). fatal: Could not read from remote repositor ...
- SSH连接GitHub并配置ssh key
SSH连接GitHub并配置ssh key 配置git的ssh提交,主要需要以下三步: 1.设置Git的user name和email 2.生成ssh 3.配置git 的ssh key 一.设置Git ...
- git配置SSH Key,上传本地代码至github
git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...
- 【Linux】配置SSH Key到GitHub/GitLab
Linux配置SSH Key到GitHub/GitLab 准备工作 首先检查下本机是否已经安装了SSH,在终端输入ssh即可: 如果没有安装进行yum安装 # yum -y install opens ...
- GitHub如何配置SSH Key
https://github.com/xiangshuo1992/preload.git git@github.com:xiangshuo1992/preload.git 这两个地址展示的是同一个项目 ...
- github入门:设置添加ssh key<转>
GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...
- Git配置SSH Key
最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律.这儿自己单独记录一份. Git配置SSH Key 1.检查本机是否有ssh key设置,切换到.ssh目录 $ cd ~/.ssh 或cd ...
随机推荐
- 2018.10.26 浪在ACM 集训队第二次测试赛
2018.10.26 浪在ACM 集训队第二次测试赛 整理人:苗学林 A海港 参考博客:[1]:李继朋https://www.cnblogs.com/violet-acmer/p/9859006.ht ...
- 微软软件开发技术二十年回顾-API篇(转)
二. API篇 随着Windows操作系统开始占据主导地位,开发Windows平台下的应用程序成为人们的需要.当然,这也为传统的DOS程序员提供了一种新的编程方法-一种不受设备限制并由事件驱动的编程方 ...
- The Preliminary Contest for ICPC Asia Shanghai 2019 C Triple(FFT+暴力)
The Preliminary Contest for ICPC Asia Shanghai 2019 C Triple(FFT+暴力) 传送门:https://nanti.jisuanke.com/ ...
- 很多.net 程序员不知道又非常重要的 .net高级调试技巧.调试别人的dll方法内的变量
事情是这样的, 最近需要开发Orcale的数据库. 于是使用了EF 加上 Oracle.ManagedDataAccess.Client 这个Oracle.ManagedDataAccess 很好用, ...
- 解决netcore在docker容器中连接oracle报错(timezone region not found)
错误提示: timezone region not found错误原因:docker 容器内时区不是 CST 导致解决办法:1.在dockerfile 中增加一下命令ENV TZ=Asia/Shang ...
- sql临时表与变量表
1)临时表存储在 tempdb 中,当不再使用时会自动删除 一般使用如下: --创建临时表 select * into #temp from TABLE --使用临时表 select * from # ...
- 深入Oracle的left join中on和where的区别详解
-- from http://blog.itpub.net/30175262/viewspace-1472060/ 今天遇到一个求某月所有天数的统计结果,如果某日的结果是0也需要显示出来,即: 日期 ...
- Python8_关于编码解码和utf-8
关于编码:ASCII码是早期的编码规范,只能表示128个字符.7位二进制数表示 扩展ASCII码,由于ASCII码不够用,ASCII表扩充到256个符号,不同的国家有不同的标准:8位二进制数 Unic ...
- DEVOPS技术实践_02:jenkins自动构建项目
一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root r ...
- c语言中自定义bool类型模板
首先,c语言中没有bool类型,只有c++中有,所以需要自定义,即c中表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true ...