windows上配置多个git ssh公钥的方法

发布时间:2021-07-06 09:06:37 作者:chen
来源:亿速云 阅读:418
# Windows上配置多个Git SSH公钥的方法

## 背景需求

在开发工作中,我们经常需要同时管理多个Git账户(如公司GitLab、个人GitHub等)。每个平台使用独立的SSH密钥可以提升安全性,但Windows系统默认只加载`id_rsa`密钥。本文将详细介绍如何配置多个SSH密钥。

---

## 一、生成多个SSH密钥对

1. 打开Git Bash,执行以下命令(以GitHub和GitLab为例):
   ```bash
   # 生成GitHub密钥
   ssh-keygen -t rsa -b 4096 -C "github@example.com" -f ~/.ssh/id_rsa_github

   # 生成GitLab密钥
   ssh-keygen -t ed25519 -C "gitlab@example.com" -f ~/.ssh/id_rsa_gitlab
  1. ~/.ssh目录下将生成四类文件:
    
    id_rsa_github      # 私钥
    id_rsa_github.pub  # 公钥
    id_rsa_gitlab
    id_rsa_gitlab.pub
    

二、创建SSH配置文件

  1. ~/.ssh目录创建config文件(无扩展名)

    touch ~/.ssh/config
    
  2. 编辑配置文件示例: “`config

    GitHub账户配置

    Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_github IdentitiesOnly yes

# GitLab公司账户 Host gitlab.company.com HostName gitlab.company.com User git IdentityFile ~/.ssh/id_rsa_gitlab

   - `Host`:自定义别名(实际连接时使用)
   - `IdentityFile`:指定对应私钥路径

---

## 三、将公钥添加到Git平台

1. 查看并复制公钥内容:
   ```bash
   cat ~/.ssh/id_rsa_github.pub | clip
  1. 将公钥添加到对应平台的SSH Keys设置中:
    • GitHub: Settings → SSH and GPG keys
    • GitLab: Preferences → SSH Keys

四、测试连接

执行以下命令测试配置:

# 测试GitHub连接
ssh -T git@github.com

# 测试GitLab连接
ssh -T git@gitlab.company.com

成功时会显示:

Hi username! You've successfully authenticated...

五、配置本地Git仓库

对于已有仓库,需修改remote地址:

git remote set-url origin git@github.com:user/repo.git

或克隆时使用SSH地址:

git clone git@gitlab.company.com:group/project.git

常见问题解决

  1. 权限错误

    chmod 600 ~/.ssh/*
    chmod 644 ~/.ssh/*.pub
    
  2. 代理问题: 在config文件中添加:

    ProxyCommand connect -H proxy.server.com:8080 %h %p
    
  3. 密钥加载失败: 重启SSH代理:

    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa_github
    

通过以上步骤,即可实现多平台SSH密钥的自动切换。此方法同样适用于其他基于SSH的Git服务(如Gitee、Bitbucket等)。 “`

注:实际字符数约650字(含代码块)。可根据需要调整: 1. 增加/减少配置示例数量 2. 补充更详细的问题排查步骤 3. 添加密钥类型选择的说明(如ED25519 vs RSA)

推荐阅读:
  1. git push时出现Permission denied(p
  2. Git配置(二)Windows安装Git,并配置Centos

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openssl

上一篇:怎么搭建前后端跨域传递cookie环境

下一篇:Cgroup限制CPU、IO、内存以及linux系统中的调度方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》