git 多账户配置

环境 MacOS

  • 检查是否已有全局账户设置:
$ git config --global user.name
$ git config --global user.email

如果都没有返回值,就说明没有已配置的 git 账户,否则请删除账户信息:

$ git config --global --unset user.name "yourname"
$ git config --global --unset user.email "youremail"
  • 生成公钥和秘钥
$ ssh-keygen -t rsa -C "your_email1"
$ ssh-keygen -t rsa -C "your_email2"

注意 生成过程中的 Enter file in which to save the key (/Users/faremax/.ssh/id_rsa): 一步骤请分别起不同的名。

查看生成的文件:

ls -l ~/.ssh
-rw-------  1 faremax  staff  1679  7  6 11:05 id_rsa_github
-rw-r--r--  1 faremax  staff   400  7  6 11:05 id_rsa_github.pub
-rw-------  1 faremax  staff  1679  7  6 11:06 id_rsa_gitlab
-rw-r--r--  1 faremax  staff   405  7  6 11:06 id_rsa_gitlab.pub
-rw-r--r--  1 faremax  staff   602 12  6  2017 known_hosts

忽略2017年创建的几个文件,可以看到两个不同的公钥和私钥对已经生成成功了。

  • 分别在 GitHub 和 Gitlab 中录入对应的公钥
$ pbcopy < id_rsa_github.pub   # 复制文件内容
image
$ pbcopy < id_rsa_gitlab.pub
image
  • 添加并识别私钥
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add ~/.ssh/id_rsa_gitlab
  • 创建配置文件
$ touch ~/.ssh/config

在该文件中添加以下配置

#该文件用于配置私钥对应的服务器
#Default gitlab user(email1@hostname.com)
 Host git@hostname.com
 HostName https://hostname.com
 User git
 IdentityFile ~/.ssh/id_rsa_gitlab
######################################
#Add github user(email1@hostname.com)
 Host git@github.com
 HostName https://github.com
 User git
 IdentityFile ~/.ssh/id_rsa_github
  • 验证连接Git

以下输入输出表示链接成功,如果提示权限问题,说明秘钥和公钥匹配除了问题,请检查并重复上述步骤(使用 -vT 参数执行下面命令查看错误信息)

$ ssh -T git@github.com
Hi faremax! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T git@hostname.com
Welcome to GIT, faremax!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在使用git的时候,一般我们使用的远程Git服务器是github,这时只需简单的生成ssh-key密钥对并将公钥添...
    gofanelena阅读 10,881评论 0 5
  • 安装Git后,就可以进行配置:用户名,邮箱,SSH密钥等。也许你有多个Git账号,分别对应github.com、c...
    wangbu2阅读 8,412评论 1 0
  • 日常开发过程中,我们可能遇到需要在同一电脑上配置多个Git账户的情况;github、公司的git服务器等,这时候我...
    一大只土豆阅读 5,914评论 0 1
  • 1、生成多个密钥 ssh-keygen -t rsa -C "邮箱" -f 文件名 2、在 .ssh 目录下创建 ...
    武曌思阅读 1,170评论 0 0
  • 影片的结尾,空海和白居易都悟到了无上密。空海“通过杨玉环的生死参透了无上密”,白居易明白了“一字不改,诗是假的,可...
    语文郭大侠阅读 3,923评论 0 2