github 多个账号问题

本文详细介绍如何在本地计算机上配置多个GitHub账号的SSHKey,包括新建SSHKey、添加到SSHagent、修改config文件等内容,并提供了测试及应用实例。

多github帐号的SSH key切换

我有两个github帐号,一个是个人所用,一个是为公司项目所用。如果是单用户(single-user),很方便,默认拿id_rsa与你的github服务器的公钥对比;如果是多用户(multi-user)如user1,user2,那么就不能用在user2的身上了,这个时候就要配置一下了:

1、新建user2的SSH Key

#新建SSH key:
$ cd ~/.ssh     # 切换到C:\Users\Administrator\.ssh
ssh-keygen -t rsa -C "mywork@email.com"  # 新建工作的SSH key # 设置名称为id_rsa_work Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): id_rsa_work

2、新密钥添加到SSH agent中

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

ssh-add ~/.ssh/id_rsa_work

如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

ssh-agent bash
ssh-add ~/.ssh/id_rsa_work

3、修改config文件
在~/.ssh目录下找到config文件,如果没有就创建:

touch config        # 创建config

然后修改如下:
我的config配置如下:

# 该文件用于配置私钥对应的服务器
# Default github user(first@mail.com)
Host github.com
 HostName github.com
 User git
 IdentityFile C:/Users/Administrator/.ssh/id_rsa

 # second user(second@mail.com) # 建一个github别名,新建的帐号使用这个别名做克隆和更新 Host github2 HostName github.com User git IdentityFile C:/Users/Administrator/.ssh/id_rsa_work

如果存在的话,其实就是往这个config中添加一个Host:

#建一个github别名,新建的帐号使用这个别名做克隆和更新
Host github2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa2

其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如:github2,那么原地址是:git@github.com:funpeng/Mywork.git,替换后应该是:github2:funpeng/Mywork.git.

4、打开新生成的~/.ssh/id_rsa2.pub文件,将里面的内容添加到GitHub后台。

可不要忘了添加到你的另一个github帐号下的SSH Key中。

5、测试:

Administrator@FANGPENG /e/work
$ ssh -T git@github.com
Hi BeginMan! You've successfully authenticated, but GitHub does not provide shel
l access.

Administrator@FANGPENG /e/work
$ ssh -T github2
Hi funpeng! You've successfully authenticated, but GitHub does not provide shell
 access.

6、应用

测试成功,那么我尝试在我的work目录下克隆我@126.com账号下的远程仓库。如下:

Administrator@FANGPENG /e/work
$ git clone github2:funpeng/Mywork.git
Cloning into 'Mywork'...
remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. Checking connectivity... done

克隆成功,大功告成了!

感谢参考:

1.多个github帐号的SSH key切换

2.在GitHub多个帐号上添加SSH公钥

3.git.md

转载于:https://www.cnblogs.com/Dennis-mi/articles/7485658.html

<think>好的,用户想知道如何在GitHub上配置和绑定多个邮箱地址。首先,我得回忆一下GitHub的账户设置。记得每个GitHub账号可以关联多个邮箱,这样提交记录才能正确显示贡献。那具体步骤可能是在账号设置里添加邮箱,然后验证对吧? 接下来,用户可能需要在本地Git配置中管理不同的邮箱,尤其是当有多个账号时。比如,用户可能有一个个人账号和一个工作账号,需要分别配置不同的邮箱。这时候全局配置可能不够,需要为每个仓库单独设置本地配置。 然后,还要考虑SSH密钥的问题。每个邮箱可能需要不同的SSH密钥,特别是当使用多个GitHub账号时。生成不同的密钥对,然后在SSH配置文件中指定不同的Host,这样Git就能根据仓库使用对应的密钥。 另外,用户提到的引用资料里有提到使用--global和--local配置,以及生成SSH密钥的命令。需要确保用户正确执行这些步骤,比如生成密钥时指定不同的文件名,避免覆盖原有密钥。 可能还需要检查SSH代理是否添加了所有密钥,这样在提交时才能自动选择正确的密钥。如果用户遇到权限问题,可能需要更新仓库的远程URL,使用SSH格式而不是HTTPS。 最后,确保用户理解添加邮箱到GitHub账户后的验证步骤,以及如何在不同仓库中切换配置。可能还需要提醒用户注意邮箱的隐私设置,比如是否公开显示。 总结一下,步骤大概是:1. 在GitHub账户中添加并验证邮箱;2. 本地Git配置全局和本地邮箱;3. 生成并配置多个SSH密钥;4. 测试连接。需要把这些步骤清晰地分点说明,并引用相关参考资料中的方法,确保用户能一步步操作。</think>在GitHub上配置和绑定多个邮箱地址需要分两个层面操作:GitHub账户邮箱关联设置和本地Git客户端配置。以下是具体步骤: ### 一、GitHub账户添加多邮箱 1. 登录GitHub网页端,进入**Settings → Emails** 2. 在"Add email address"处输入新邮箱 3. 接收验证邮件完成确认 4. 可设置主邮箱(Primary email),但所有已验证邮箱都会关联到账户[^2] ### 二、本地Git多邮箱配置 #### 全局默认配置(个人账户) ```bash git config --global user.name "个人账号名" git config --global user.email "personal@example.com" ``` #### 项目级配置(工作账户) 进入特定仓库目录后执行: ```bash git config --local user.name "公司账号名" git config --local user.email "work@company.com" ``` ### 三、SSH密钥关联(可选) 当需要同时操作多个GitHub账户时: 1. 生成新密钥对(注意避免覆盖默认密钥): ```bash ssh-keygen -t ed25519 -C "work@company.com" -f ~/.ssh/id_ed25519_work ``` 2. 将公钥`id_ed25519_work.pub`添加到GitHub账户的SSH Keys中[^4] 3. 修改`~/.ssh/config`文件: ``` Host github-work HostName github.com User git IdentityFile ~/.ssh/id_ed25519_work ``` 4. 修改仓库remote地址: ```bash git remote set-url origin git@github-work:company/project.git ``` ### 四、验证配置 ```bash # 查看全局配置 git config --global --list # 查看本地配置 git config --local --list # 测试SSH连接 ssh -T git@github.com ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值