使用SSH密钥实现Git多账号切换
阅读本文前,请先参考使用SSH密钥连接Git仓库了解SSH密钥配置方法。
场景
有时,在一台机器上需同时使用多个Git账号(个人账号和工作账号),不同的Git仓库使用不同的账号访问。本文将介绍如何通过配置实现该需求。
分别为每个账号生成SSH密钥
打开Git Bash
,执行下面的命令,为每个账号分别生成SSH密钥(如可分别命名为:id_rsa_private
/id_rsa_work
)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在每个账号上关联SSH公钥
将生成的公钥分别关联到对应的账号上
添加SSH配置信息
打开~/.ssh/config
文件,添加以下配置信息。它定义了github_private
和github_work
两个别名,分别对应个人账号和工作账号。
#for person use
Host github_private
HostName github.com
IdentityFile ~/.ssh/id_rsa_private
#for work use
Host github_work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work
修改Git仓库地址
以上述配置为例,进入个人Git仓库,使用别名github_private
代替服务器地址。其中,将your-username
替换成你的用户名,your-repo-name
替换成实际的仓库名。
git remote set-url origin git@github_private:your-username/your-repo-name.git