Mac 切换 多个 GitHub 账号

我们通常会有自己的 github 账号和公司的 github 账号,但是有时却要在一台电脑上使用这两个账号。
介绍一种切换github账号的方法。
以工作账号(work)和自己账号(personal)为例。

为多个账号设置 ssh keys

分别用不同 github 账号对应的邮箱生成 ssh key

cd ~/.ssh
ssh-keygen -t rsa -C "私人账号邮箱"
# 提示命名的时候以 id_rsa_personal 命名
ssh-keygen -t rsa -C "工作账号邮箱"
# 提示命名的时候以 id_rsa_work 命名

将公钥添加到对应的 github 账号

添加配置文件管理私钥

Host personal ;USER_HOST为自定义host名字,如的personal和work
    HostName github.com ;SERVER_HOST为实际服务器host,此时为GitHub
    User git ;USER_NAME为自定义名称
    IdentityFile /Users/ykw/.ssh/id_rsa_personal ;PRIVATE_KEY为本地key
Host work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work

更新 Identities

  1. 清除缓存
    ssh-add -D
  2. 添加 keys
    ssh-add ~/.ssh/id_rsa_personal
    ssh-add ~/.ssh/id_rsa_work
  3. 查看 keys
    ssh-add -l
  4. 测试 github 是否认可这些 key
    $ ssh -T personal
    Hi githubPersonal! You've successfully authenticated, but GitHub does not provide shell access.
    $ ssh -T work
    Hi githubWork! You've successfully authenticated, but GitHub does not provide shell access.

使用方法

  • 当再次 clone 一个新 Repos 时,如果其ssh地址为git@github.com:username/xxx.git,使用 git@company:username/xxx.git 即可。 (github.com 换成了自定义的 HOST(work) )
  • 对于已经存在的 repos 修改 remote url 即可。
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!