在同一台电脑上通过SSH连接不同GitHub

本文介绍如何在同一台机器上配置多个GitHub账号,通过设置不同的SSH密钥实现不同账号间的切换,并详细说明了每一步骤的操作命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道,本地Git和GitHub是通过SSH进行连接。但是如果想在同一台机器使用两个github账号(比如私人账号和工作用账号)。这个时候怎么指定push到哪个账号的test仓库上去呢

解决方案:两套key,再写个配置文件,

<span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;"><span style="font-family:'Helvetica Neue',Helvetica,Tahoma,Arial,STXihei,'Microsoft YaHei',微软雅黑,sans-serif;color:#333333;font-size:16px; line-height:28.7999992370605px; text-indent:16px">注意</span>生成两个Key时,不要随便输入enter键就就不会覆盖掉老的两个key</span></span>

(假设你已经拥有私有账号且已经OK,现在想使用另一个工作用账号):

1:为工作账号生成SSH Key

<span class="variable" style="color:#08080;">$ </span>ssh-keygen -t rsa -<span class="constant">C</span> <span style="color:#8000;"><span class="string" style="color:#dd1144;">"</span></span><span class="string" style="color:#dd1144;"><span style="color:#8000;">your-email-address</span><span style="color:#8000;">"</span></span><span style="color:#8000;"></span>

<span style="color:#0800;"><span class="comment" style="color:#999988;font-style:italic">#</span></span><span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;">存储key的时候,不要覆盖现有的id_rsa,在生成两个Key时,不要随便输入enter键就就不会覆盖掉老的两个key ,使用一个新的名字,比如id_rsa_work</span></span><span style="font-family:'Helvetica Neue',Helvetica,Tahoma,Arial,STXihei,'Microsoft YaHei',微软雅黑,sans-serif;font-size:16px; line-height:28.7999992370605px; text-indent:1em; background-color:rgb(255,255,255)"> </span>

2:把id_rsa_work.pub加到你的work账号上

3:把该key加到ssh agent上。由于不是使用默认的.ssh/id_rsa,所以你需要显示告诉ssh agent你的新key的位置

<span class="variable" style="color:#08080;">$ </span>ssh-add ~<span class="regexp" style="color:#09926;">/.ssh/<span style="color:#000000;">id</span></span><span style="color:#000000;">_rsa_work

</span><span style="color:#0800;"><span class="comment" style="color:#999988;font-style:italic">#</span></span><span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;"> 可以通过ssh-add -l来确认结果</span></span><span style="font-family:'Helvetica Neue',Helvetica,Tahoma,Arial,STXihei,'Microsoft YaHei',微软雅黑,sans-serif;font-size:16px; line-height:28.7999992370605px; text-indent:1em; background-color:rgb(255,255,255)"> </span>

4:配置.ssh/config

<span class="variable" style="color:#08080;">$ </span>vi .ssh/<span style="color:#000000;">config

</span><span style="color:#0800;"><span class="comment" style="color:#999988;font-style:italic">#</span></span><span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;"> 加上以下内容</span></span><span style="color:#0800;"></span><span style="color:#0800;">
<span class="comment" style="color:#999988;font-style:italic">#</span></span><span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;">default github</span></span><span style="color:#0800;"></span>
<span style="color:#000000;"><span class="constant">Host</span> github.com
  <span class="constant">HostName</span> github.com
  <span class="constant">IdentityFile</span> </span>~<span class="regexp" style="color:#09926;">/.ssh/<span style="color:#000000;">id</span></span><span style="color:#000000;">_rsa

<span class="constant">Host</span> github_work
  <span class="constant">HostName</span> github.com
  <span class="constant">IdentityFile</span> </span>~<span class="regexp" style="color:#09926;">/.ssh/id</span>_rsa_work

 

5:这样的话,你就可以通过使用github.com别名github_work来明确说你要是使用id_rsa_work的SSH key来连接github,即使用工作账号进行操作。

<span style="color:#0800;"><span class="comment" style="color:#999988;font-style:italic">#</span></span><span class="comment" style="color:#999988;font-style:italic"><span style="color:#0800;">本地建库</span></span>
<span style="color:#000000;"><span class="variable" style="color:#08080;">$ </span>git init
<span class="variable" style="color:#08080;">$ </span>git commit </span>-am <span style="color:#8000;"><span class="string" style="color:#dd1144;">"</span></span><span class="string" style="color:#dd1144;"><span style="color:#8000;">first commit'</span>
 
<span style="color:#0800;">#</span><span style="color:#0800;">push到github上去</span>
$ git remote add origin git@github_work:xxxx/<span style="color:#000000;">test.git
$ git push origin master
</span></span>
如果创建了错误的remote分支,可以通过git remote remove origin即可。然后再重新add一个新的remote分支。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值