要在一台电脑上配置两个 GitHub 账户并使用两个不同的 SSH 密钥,可以按照以下步骤操作:
1. 生成 SSH 密钥对
- 打开终端(Terminal)。
- 生成第一个 SSH 密钥对:运行以下命令并按照提示操作。
ssh-keygen -t rsa -C "your_email@example.com"
在这里,"your_email@example.com" 应替换为您的第一个 GitHub 账户的电子邮件地址。
- 生成第二个 SSH 密钥对:运行以下命令并按照提示操作。
ssh-keygen -t rsa -f ~/.ssh/id_rsa_second -C "your_second_email@example.com"
在这里,"your_second_email@example.com" 应替换为您的第二个 GitHub 账户的电子邮件地址。
2. 添加 SSH 密钥到 SSH 代理
- 启动 SSH 代理:
eval "$(ssh-agent -s)"
- 将第一个 SSH 密钥添加到 SSH 代理:
ssh-add ~/.ssh/id_rsa
- 将第二个 SSH 密钥添加到 SSH 代理:
ssh-add ~/.ssh/id_rsa_second
3. 将 SSH 密钥添加到 GitHub 账户
- 复制第一个 SSH 密钥的公钥:
cat ~/.ssh/id_rsa.pub
将公钥复制到第一个 GitHub 账户的 SSH 密钥设置中。
- 复制第二个 SSH 密钥的公钥:
cat ~/.ssh/id_rsa_second.pub
将公钥复制到第二个 GitHub 账户的 SSH 密钥设置中。
4. 配置 SSH 主机别名(可选)
- 编辑
~/.ssh/config
文件(如果没有则创建):
touch config
nano ~/.ssh/c
- 在文件中添加以下内容,以便为每个 GitHub 账户配置主机别名:
# First GitHub account
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# Second GitHub account
Host second.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_second
配置说明:
-
Host
:自定义别名,会影响git相关命令 -
HostName
:真实的服务器地址(域名) -
User
:之前配置的用户名可以省略(xxx@xxx.com) -
PreferredAuthentications
:权限认证(publickey,password publickey,keyboard-interactive)一般直接设为publickey -
IdentityFile:rsa
文件地址
5. 测试 SSH 连接
- 测试第一个 GitHub 账户的 SSH 连接:
ssh -T git@github.com
如果出现Hi ****! You've successfully authenticated, but GitHub does not provide shell access.
提示,说明我们的配置成功。
- 测试第二个 GitHub 账户的 SSH 连接:
ssh -T git@second.github.com
现在您应该能够同时使用两个 GitHub 账户并通过各自的 SSH 密钥进行身份验证。
参考文档
一台电脑双 GitHub 账户配置,同时两个 SSH 密钥
如何在同一电脑上生成配置多个ssh key 公钥 私钥(保姆级教程)
多个Git配置多个ssh密钥
手把手教你一台电脑配置两个Git账户