分类目录

链接

2022 年 3 月
 123456
78910111213
14151617181920
21222324252627
28293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > Others > 正文
mac一台电脑配置多个github帐号
Others 暂无评论 阅读(93)

需求: 公司的工作使用的github作为远程仓库,故有一个公司邮箱注册的账号,而我自己也有自己的github账号,需要(摸鱼)时也想推送一些代码到私人仓库中.
注意: 此方法也适用于gitlab, gitee等平台.

分析: github上拉代码,推代码有两种方法,一种是使用账号密码的形式,另一种是使用ssh.作为一个懒人,肯定是越省事越好.所以选择ssh的方法.
所以一台电脑需要生成两个ssh_key,分别对应两个账号.

 

把密钥添加到ssh-agent

把ssh-agent在后台启动

eval "$(ssh-agent -s)"

 

方法:

1. 进入~/.ssh文件夹,使用ssh-keygen -t rsa -C "personal@qq.com"命令,一路enter,先生成一个自己的keygen.输入名字的时候,可以输入id_rsa_personal

2. 再次输入ssh-keygen -t rsa -C "company@qq.com"(注意与第一个命令邮箱的区别),注意,这里先别急着enter,这时如果还enter会覆盖掉第一步生成keygen, 这里要给本次keygen起一个新的名字,比如id_rsa_company,生成一个公司账号的keygen.
此时.ssh 文件夹中应该有四个文件,分别是:

id_rsa_personal

id_rsa_personal.pub

id_rsa_company

id_rsa_company.pub

3. 但是这样的话其实默认找到的还是第一次生成的keygen,这是系统默认的.如果想让两个都被检索到,需要把ssh key 加到 ssh agent 中
重点来了! 执行ssh-add -K ~/.ssh/id_rsa_company把keygen加入到agent中,这样公司的账号也能推拉代码啦~(这命令相当于把对应的密钥加进 ssh-agent 所管理的一个 session 当中,这样每次关机重启之后ssh-agent 服务也就重置了,session 会话也就失效了。就需要重新再加一次。所以加个参数 -k是将密钥放在 keychain中,这样就不会过期了)

补充: 发现原来自己的账号却不能拉代码了,一直说仓库不存在,我凭直觉执行了ssh-add -K ~/.ssh/id_rsa,把第一次自己的keygen也加入到了agent中.终于可以拉了!

如果 是mac os 12+,还需要配置config,进入 .ssh,添加config文件,vi config,输入:

如果有两个GitHub账户,如何配置SSH密钥并使用?

假设现在有两个GitHub账户,对应两个SSH密钥old_id_rsa和new_id_rsa。如果还没有密钥,分别按上面的步骤创建和添加。

修改config文件如下

 

# 配置多个id_rsa

# github

Host github.com # Host是别名,通过git拉取的时候,要用别名

HostName github.com # HostName是远程仓库的域名

IdentityFile ~/.ssh/id_rsa_personal

AddKeysToAgent yes

# PreferredAuthentications publickey

User personal@qq.com

# 公司项目

Host github_company #别名!!!重要,拉取公司项目时,要用别名,如:git pull git@github_company:projectname.git

HostName github.com

IdentityFile ~/.ssh/id_rsa_company

AddKeysToAgent yes

User company@qq.com

 

 

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:mac一台电脑配置多个github帐号 | Bruce's Blog

发表评论

留言无头像?