git多账户配置

双账户SSH秘钥配置指南
本文详细介绍了如何为GitHub和GitLab两个不同账户配置SSH密钥的过程,包括生成私钥与公钥、配置SSH代理、添加公钥到对应平台及配置.gitconfig等关键步骤。

生成秘钥

第一个账户(github)

1、在 gitbash上运行 ssh-keygen -t rsa -C “账户邮箱”
2、接下来会提示输入key的名字 默认名字为id_rsa .或者为了方便辨认重命名github_rsa
3、然后回车。
4、回车,
ssh agent默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中
ssh-add github_rsa

如果出现Could not open a connection to your authentication agent的错误,运行:

ssh-agent bash
ssh-add github_rsa

第二个账户(gitlab)

步骤同上,命名我选择了默认id_rsa

详情参照:http://www.cnblogs.com/dubaokun/p/3550870.html

配置config

 #Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]
     #User 登录用户名(如:git)
     #HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
     #Port 服务器open-ssh端口(默认:22,默认时一般不写此行
     #IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)

详情参照:https://gist.github.com/yeungeek/596984fd9e53d6c36c0d


cat config
 #github xxxxxxx@qq.com
host github
    hostname github.com
    User Crazier-qi
    IdentityFile ~/.ssh/github_rsa

  #gitlab xxxxxxx.com.cn
host gitlab
    hostname git.yqb.pub/
    User qiyue327
    IdentityFile ~/.ssh/id_rsa

添加公钥

分别在github和gitlab的setting中找到add ssh key
在目录~/.ssh 中分别找到对应的公钥:
github_rsa.pub
id_rsa.pub
这里添加的是公钥。

配置name和email

git config user.name
git config user.email

在对应网站文件夹下局部变量配置。
git config -g user.xxx会全局配置。

测试

ssh -T git@github.com

### 配置 Git 以支持多个账户 Git 支持基于 SSH 协议的多帐户共存,通过配置不同SSH 密钥Git 用户信息,可以在同一台设备上管理多个 Git 账户,适用于 GitHub、GitLab、Gitee 等多个平台。 #### 1. 生成多个 SSH 密钥 每个 Git 账户应使用独立的 SSH 密钥对。可以通过以下命令生成不同密钥文件: ```bash ssh-keygen -t rsa -b 4096 -C "account1@example.com" ``` 在提示“Enter file in which to save the key”时输入自定义路径,例如 `~/.ssh/id_rsa_account1`。重复此过程生成多个密钥,例如 `id_rsa_account2`、`id_rsa_account3` 等。 #### 2. 配置 SSH 客户端 在 `~/.ssh/config` 文件中添加多个 Host 别名,分别指向不同Git 账户。例如: ```bash # GitHub 账户1 Host github.com-account1 HostName github.com User git IdentityFile ~/.ssh/id_rsa_account1 # GitHub 账户2 Host github.com-account2 HostName github.com User git IdentityFile ~/.ssh/id_rsa_account2 ``` 这样可以确保在使用不同账户时自动加载对应的密钥。 #### 3. 添加 SSH 密钥SSH 代理 使用以下命令将生成的私钥添加到 SSH 代理中: ```bash ssh-add ~/.ssh/id_rsa_account1 ssh-add ~/.ssh/id_rsa_account2 ``` 确保 SSH 代理已启动: ```bash eval "$(ssh-agent -s)" ``` #### 4. 配置 Git 用户信息 对于不同Git 仓库目录,设置本地的用户名和邮箱,以区分提交身份。例如,在账户1的项目目录中执行: ```bash git config user.name "Account1" git config user.email "account1@example.com" ``` 在账户2的项目目录中执行: ```bash git config user.name "Account2" git config user.email "account2@example.com" ``` Git 配置的优先级为:本地仓库配置(repo/.git/config)> 全局配置(~/.gitconfig)> 系统级配置(/etc/gitconfig),确保本地设置覆盖全局设置[^1]。 #### 5. 使用不同账户克隆仓库 使用配置的 Host 别名克隆仓库,例如: ```bash git clone git@github.com-account1:Account1/your-repo.git ``` 确保推送操作使用正确的账户和密钥。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值