同时在github和gitee配置密钥

同时在github和gitee配置密钥

1. 生成不同的 SSH 密钥

为每个平台生成单独的 SSH 密钥。

# 为 GitHub 生成密钥(默认文件路径为 ~/.ssh/github_id_rsa)
ssh-keygen -t rsa -b 4096 -C "your_github_email@example.com" -f ~/.ssh/github_id_rsa

# 为 Gitee 生成密钥(默认文件路径为 ~/.ssh/gitee_id_rsa)
ssh-keygen -t rsa -b 4096 -C "your_gitee_email@example.com" -f ~/.ssh/gitee_id_rsa

执行命令后,根据提示按回车确认,设置密钥存储路径。可以为密钥设置密码,也可以直接回车跳过。


2. 添加 SSH 密钥到 SSH Agent(可选做这一步,一般不用)

将生成的密钥添加到 SSH Agent 以便使用。

# 启动 SSH Agent
eval "$(ssh-agent -s)"

# 添加 GitHub 的密钥
ssh-add ~/.ssh/github_id_rsa

# 添加 Gitee 的密钥
ssh-add ~/.ssh/gitee_id_rsa

3. 配置密钥到对应的平台

GitHub
  1. 登录 GitHub SSH 设置页面
  2. 打开生成的 GitHub 公钥文件:
    cat ~/.ssh/github_id_rsa.pub
    
  3. 将公钥内容复制到 GitHub 的新 SSH 密钥中,保存。
Gitee
  1. 登录 Gitee SSH 设置页面
  2. 打开生成的 Gitee 公钥文件:
    cat ~/.ssh/gitee_id_rsa.pub
    
  3. 将公钥内容复制到 Gitee 的新 SSH 密钥中,保存。

4. 配置 SSH Config 文件

为每个平台配置不同的 SSH 地址。

编辑或创建 ~/.ssh/config 文件,添加以下内容:

# GitHub 配置
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa

# Gitee 配置
Host gitee.com
    HostName gitee.com
    User git
    IdentityFile ~/.ssh/gitee_id_rsa

保存并关闭文件。


5. 测试连接

测试 GitHub
ssh -T git@github.com

如果配置正确,会提示:

Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
测试 Gitee
ssh -T git@gitee.com

如果配置正确,会提示:

Welcome to Gitee.com, <username>!

6. 使用多个平台的远程仓库

克隆仓库时(直接复制平台的ssh链接即可):
  • 对于 GitHub:
    git clone git@github.com:username/repo.git
    
  • 对于 Gitee:
    git clone git@gitee.com:username/repo.git
    
推送或拉取:

Git 会根据 ~/.ssh/config 中的配置自动匹配正确的密钥。


enjoy!

<think>好的,用户想要在同一环境中同时配置使用GitHubGitee。首先,我需要回忆一下相关的配置步骤。根据提供的引用内容,配置多个SSH密钥是关键。用户可能需要生成不同的密钥对,并为每个平台配置对应的Host。 首先,生成SSH密钥部分,引用5提到可以不用邮箱生成公钥,这样可能实现一个公钥共用,但引用34则建议生成不同的密钥,比如github_id-rsagitee_id-rsa。这可能更安全,避免账号冲突。用户需要确认是要共用还是分开,但通常分开更稳妥。 接下来,配置config文件,引用3给出了示例,设置不同的Host指向不同的密钥文件。这一步很重要,确保Git能根据不同的仓库地址使用对应的密钥。 然后是仓库级别的配置,引用2提到在本地仓库设置不同的用户名邮箱,这样不同项目可以归属到不同的账号。全局配置可能需要留空,或者在需要的时候覆盖。 另外,引用4提到清除已有的git配置,可能用户之前有全局设置,需要先清理。测试连接的部分,使用ssh -T命令检查是否成功,如引用3中的例子。 可能的问题点在于用户是否清楚每个步骤的作用,比如config文件的格式是否正确,密钥权限设置是否到位。需要提醒用户注意文件权限,比如.ssh目录应为700,私钥文件为600,避免权限问题导致失败。 此外,用户可能需要知道如何克隆设置远程仓库,尤其是当使用不同Host别名时,比如gitee.comgithub.com对应的仓库URL是否需要调整。比如,如果配置了Host别名,克隆时可能需要使用对应的Host名称,但通常保持原来的域名即可,因为HostName还是正确的。 最后,需要测试配置是否生效,确保pushpull到不同平台时身份正确,没有权限错误。如果用户遇到问题,可能需要检查ssh -vT的详细日志,或者重新检查config文件的语法是否正确。</think>### 分步配置指南:同时使用 GitHub Gitee #### 一、生成独立的 SSH 密钥对 1. **生成 GitHub 密钥** ```bash ssh-keygen -t rsa -f ~/.ssh/github_id_rsa -C "github@example.com" ``` (替换 `github@example.com` 为 GitHub 注册邮箱) 2. **生成 Gitee 密钥** ```bash ssh-keygen -t rsa -f ~/.ssh/gitee_id_rsa -C "gitee@example.com" ``` (替换 `gitee@example.com` 为 Gitee 注册邮箱) #### 二、配置 SSH 代理规则 1. **创建 `~/.ssh/config` 文件** ```bash touch ~/.ssh/config chmod 600 ~/.ssh/config ``` 2. **添加以下内容** ```text # GitHub Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id_rsa # Gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_id_rsa ``` (通过 `Host` 字段区分平台,`IdentityFile` 指向对应密钥文件[^3]) #### 三、添加公钥到平台 1. **GitHub 添加公钥** ```bash cat ~/.ssh/github_id_rsa.pub ``` 复制内容到 GitHub: `Settings -> SSH and GPG keys` 2. **Gitee 添加公钥** ```bash cat ~/.ssh/gitee_id_rsa.pub ``` 复制内容到 Gitee: `设置 -> SSH 公钥`[^4] #### 四、验证连接状态 1. **测试 GitHub 连接** ```bash ssh -T git@github.com ``` 成功提示:`Hi [username]! You've successfully authenticated...` 2. **测试 Gitee 连接** ```bash ssh -T git@gitee.com ``` 成功提示:`Hello [username]! You've successfully authenticated...` #### 五、配置仓库级账户隔离 1. **全局配置留空** ```bash git config --global --unset user.name git config --global --unset user.email ``` 2. **项目级单独配置** ```bash # GitHub 项目目录 git config --local user.name "github_username" git config --local user.email "github@example.com" # Gitee 项目目录 git config --local user.name "gitee_username" git config --local user.email "gitee@example.com" ``` (通过 `--local` 参数实现账号隔离[^2]) #### 六、典型操作示例 ```bash # 克隆 GitHub 仓库 git clone git@github.com:username/repo.git # 克隆 Gitee 仓库 git clone git@gitee.com:username/repo.git # 提交时自动关联对应账号 git commit -m "commit message" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值