本机生成两个独立 SSH Key(不同用途/不同账号)

kkcode
kkcode
2026-05-08阅读 299

原理

默认 id_rsa 是第一个,第二个自定义文件名,比如:

  • 第一个:默认全局 ~/.ssh/id_rsa(日常通用)
  • 第二个:自定义 ~/.ssh/id_rsa_work(公司/另一个GitHub/GitLab)

第一步:生成第一个 SSH Key(默认)

打开终端(Git Bash / Mac/Linux 终端 / PowerShell)

ssh-keygen -t ed25519 -C "个人邮箱@gmail.com"
  • 一路回车,不设置密码 或按需设置
  • 生成路径:~/.ssh/id_rsaid_rsa.pub

推荐 ed25519 算法,比 rsa 更安全更短


第二步:生成第二个 SSH Key(自定义名称)

ssh-keygen -t ed25519 -C "公司邮箱@xxx.com"

关键:提示输入文件路径时,手动输入

/Users/你的用户名/.ssh/id_rsa_work

Windows 示例:

C:\Users\你的用户名\.ssh\id_rsa_work

然后一路回车,生成第二套密钥:
id_rsa_workid_rsa_work.pub


第三步:创建 config 文件区分两个Key

进入 .ssh 目录

cd ~/.ssh

新建/编辑 config 文件

touch config
nano config

粘贴以下配置(直接复制改下主机名即可)

# 第一个账号:个人 GitHub
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

# 第二个账号:公司 GitLab / 另一个GitHub
Host gitwork.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_work

保存退出:nano 按 Ctrl+O 回车,Ctrl+X


第四步:加载私钥到本地 ssh-agent

这一步99%的情况下可以直接省略,不影响使用。只有极老的系统 / 手动关闭了自动代理 才需要第四步。

# 启动代理
eval "$(ssh-agent -s)"

# 添加两个私钥
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_work

第五步:分别复制公钥到代码平台

  • 个人公钥:~/.ssh/id_rsa.pub
  • 公司公钥:~/.ssh/id_rsa_work.pub

复制全文,分别添加到 对应 GitHub/GitLab 账号的 SSH Key 设置里


第六步:测试连通

# 测试个人
ssh -T git@github.com

# 测试公司(用配置里的别名 gitwork.com)
ssh -T git@gitwork.com

出现 Hi xxx! You've successfully authenticated 就成功了


克隆仓库用法

  • 个人仓库正常克隆:
git clone git@github.com:xxx/xxx.git
  • 公司仓库用别名:
git clone git@gitwork.com:公司账号/仓库.git
评论数量:0