美文网首页
让一台电脑关联多个github账号

让一台电脑关联多个github账号

作者: 傻傻木 | 来源:发表于2017-10-13 22:12 被阅读0次

最近和同学在合作开发一个项目,就需要协作开发,需要把代码放到github上。又不想放到自己的私人github账号,就干脆新注册了一个新的github账号。

要想给github账号中的项目提交代码,就需要把电脑上SSH key的公钥添加到对应github账号中去,才有权限提交代码。首先想到的就把电脑上现有的SSH key的公钥添加到github中,出现出乎意料的提示Key is already in use

说我的密钥已经被使用,那我就新生成一对密钥咯。打开终端,输入下面命令。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

提示Enter file in which to save the key (/Users/nchkdxlq/.ssh/id_rsa):,如果直接按回车,会生成以id_rsa开头命名的密钥对,会覆盖原来在.ssh目录下面已有的id_rsa密钥。所以需要输入生成密钥的名称singsender_rsa,按回车之后就会在.ssh目录下生成singsender_rsa私钥和singsender_rsa.pub公钥。
singsender_rsa.pub公钥添加到github账号中,没有提示密钥已使用,说明密钥添加成功了。

这时开心的在终端执行push命令,发现并没有把代码push到github上,并且给了我如下的提示。

ERROR: Permission to singsengder/test.git denied to nchkdxlq.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

为什么会出现这样的提示呢?原因是这样的,在每次push的时候,本地的私钥都会和服务端(github)的公钥去匹配,如果匹配成功就可以push了;而在默认情况下,本地的私钥都会读取id_rsa文件,而账号中对应的公钥singsender_rsa.pub,所以当然会报没有权限的错误。

那怎样让不同的github账号对应不同的密钥对呢?需要做两个设置

新建config文件

~/.ssh目录下新建config文件并添加如下内容,该文件用于设置私钥对应的服务器。

#Default Account
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

#singsender singsender_github.com为服务器的别名
Host singsender_github.com
HostName github.com
User git
IdentityFile ~/.ssh/singsender_rsa
修改具体项目的config文件

.git/config文件中,有一行设置url的配置。

默认配置

url = git@github.com:singsengder/test.git

修改后

url = singsender_github.com:singsengder/test.git

修改url配置还有更简单的方式,在对应的项目中执行命令

git remote set-url origin singsender_github.com:singsengder/test.git
验证授权
$ ssh -T singsender_github.com
Hi singsengder! You've successfully authenticated, but GitHub does not provide shell access.

授权成功,可以往新账号的github账号提交代码了。

相关文章

  • 让一台电脑关联多个github账号

    最近和同学在合作开发一个项目,就需要协作开发,需要把代码放到github上。又不想放到自己的私人github账号,...

  • 多个github帐号更新多个hexo博客

    一台电脑, 多个github帐号的SSH key切换, 更新多个hexo博客 github账号,工作有一个,自己有...

  • 本地Git关联多个Github账号 & SSH Config

    注:假设读者知道如何关联ssh key到Github账号。 场景 多个Github账号 希望通过ssh key关联...

  • 一台电脑多个GitHub账号

    1\ 生成两个密钥文件。分别指定ssh公钥文件的名称即可。命令: ssh-keygen -t rsa -C "(这...

  • 同一台电脑同时使用gitHub和gitLab

    工作中我们有时可能会在同一台电脑上使用多个git账号,例如:公司的gitLab账号,个人的gitHub账号。怎样才...

  • 账号防关联

    【什么是账号防关联】 帐号防关联的意思是:多个同平台帐号不能登录同一个IP下(或路由器)的同一台电脑,这样会让网站...

  • 多个git账号配置

    一般情况下,一台电脑会连接多个git服务器,比如公司的一台,oschina一台,github一台,三个账号都要用,...

  • SSH Git多账号配置 一分钟上手

    使用介绍 默认情况下,一台电脑只有一个SSH Key,加入我们有多个Github账号,需要将代码迁移账号,这时候这...

  • mac 一台电脑两个github账号

    mac 一台电脑两个github账号 自己有两个github账号,要配置在同一台笔记本上 个人账号:itxingO...

  • SSH 管理

    SSH管理,一台设备对应一个平台绑定进行绑定 比如github上 一台电脑,管理对应一个公钥,如果需要多个账号在同...

网友评论

      本文标题:让一台电脑关联多个github账号

      本文链接:https://www.haomeiwen.com/subject/xqptuxtx.html