多个GITHUB帐号的SSH KEY切换
来源:互联网 发布:网页搜索优化 编辑:程序博客网 时间:2024/05/24 02:37
背景
同一台电脑需要提交到多个github或者gitlab账号的情况下,需要做一些特别设置。
原因
github使用SSH与客户端连接。如果是单用户(first),生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。但是如果是多用户(first,second),我们在连接到second的帐号时,second保存的是自己的公钥,但是SSH客户端依然发送默认私钥,即first的私钥,那么这个验证自然无法通过。不过,要实现多帐号下的SSH key切换在客户端做一些配置即可。
解决方案
首先,在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_second -C "second@mail.com"
默认SSH只会读取id_rsa,所以为了让SSH识别新的私钥,需要将其添加到SSH agent
ssh-add ~/.ssh/id_rsa_second
该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash
命令后再执行ssh-add命令。
完成以上步骤后在~/.ssh目录创建config文件,该文件用于配置私钥对应的服务器。内容如下:
# first.github (first@gmail.com)Host github.comHostName github.comUser gitIdentityFile ~/.ssh/id_rsa# second (second@gmail.com)Host github-secondHostName github.comUser gitIdentityFile ~/.ssh/id_rsa_second
Host随意即可,方便自己记忆,后续在添加remote是还需要用到。
配置完成后,在连接非默认帐号的github仓库时,远程库的地址要对应地做一些修改,比如现在添加second帐号下的一个仓库origin,则需要这样添加:
git remote add origin git@github-second:second/test.git
并非原来的git remote add origin git@github.com:second/test.git
这样每次连接都会使用id_rsa_second与服务器进行连接。至此,大功告成!
注意:github根据配置文件的user.email来获取github帐号显示author信息,所以对于多帐号用户一定要记得将user.email改为相应的email(second@mail.com)。
参考:http://stormzhang.com/other/2013/10/16/github-multiply-ssh-key/
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个github帐号的SSH key切换
- 多个GITHUB帐号的SSH KEY切换
- 多个github帐号的SSH key切换
- 多github帐号的SSH key切换
- 多github帐号的SSH key切换
- 多github帐号的SSH key切换
- 多github帐号的SSH key切换
- Github多个SSH key切换管理项目
- GitHub帐号添加SSH key
- 多个SSH key切换
- 手把手教你同时使用多github帐号的SSH key
- github gitoschina多个ssh key的使用
- 常用正则表达式
- Android 小笔记 一些小的知识点
- Oracle笔记2
- 向量相关知识
- Android Studio 快捷键操作
- 多个GITHUB帐号的SSH KEY切换
- uva225—Golygons(回溯法)
- Win10系统安装多个JDK
- Install activemq on Linux
- 各种排序算法的c++代码实现
- CSS—框模型
- Java 数组和字符串的转换--不能通过toString方法
- express简单实现登录及在线聊天室
- 短信接口