返回

同一台电脑配置个人账号和公司账号SSH Key

后端

前言

在开发过程中,我们经常需要使用Git来管理代码。Git是一种分布式版本控制系统,可以帮助我们跟踪代码的变化,并协同多人进行开发。为了使用Git,我们需要在本地电脑上生成SSH Key,并将公钥添加到Git服务器上。

问题

由于公司统一使用私有的gitlab来托管代码,但个人在 Github 上还有一些代码仓库,且两个账号使用的邮箱是不同的,因此生成的SSH key也是不同的,这就造成了冲突。

解决办法

1. 生成不同的SSH Key

首先,我们需要为个人账号和公司账号分别生成不同的SSH Key。

在Linux或macOS系统中,可以使用以下命令生成SSH Key:

ssh-keygen -t rsa -C "your_email@example.com"

在Windows系统中,可以使用以下命令生成SSH Key:

ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/id_rsa

其中,your_email@example.com是你的邮箱地址。

2. 添加SSH Key到Git服务器

接下来,我们需要将生成的SSH Key添加到Git服务器上。

在Linux或macOS系统中,可以使用以下命令将SSH Key添加到Git服务器上:

ssh-copy-id -i ~/.ssh/id_rsa.pub git@github.com
ssh-copy-id -i ~/.ssh/id_rsa.pub git@gitlab.com

在Windows系统中,可以使用以下命令将SSH Key添加到Git服务器上:

ssh-copy-id -i ~/.ssh/id_rsa.pub git@github.com
ssh-copy-id -i ~/.ssh/id_rsa.pub git@gitlab.com

3. 配置Git客户端

最后,我们需要配置Git客户端,以便使用不同的SSH Key来连接不同的Git服务器。

在Linux或macOS系统中,可以在~/.ssh/config文件中添加以下配置:

Host github.com
  Hostname github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host gitlab.com
  Hostname gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa_gitlab

在Windows系统中,可以在C:\Users\your_username.ssh\config文件中添加以下配置:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host gitlab.com
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa_gitlab

其中,your_username是你的用户名,id_rsa_gitlab是公司账号的SSH Key的私钥文件名。

总结

通过以上步骤,就可以在一台电脑上同时配置个人账号和公司账号的SSH Key,以便在使用Git时可以顺利地推送和拉取代码。