多账号免密登录不同git仓库

配置步骤

  1. 使用ssh-keygen命令生成key pair(公钥和私钥) ```bash ssh-keygen -t rsa -C YourEmail

    “-t rsa”表示使用密钥的加密类型;

    -C 设置注释,一般写你对应git的注册邮箱,也可以写其他邮箱

输入命令后会出现以下对话

Enter file in which to save the key (/Users/faner/.ssh/id_rsa): #设置私钥文件名字。 eg: id_rsa_github(若不指定目录,就在当前目录生成)

Enter passphrase (empty for no passphrase): # 输入密钥文件授权密码,不用设置 直接回车

Enter same passphrase again: # 确认密钥文件授权密码,不用设置 直接回车

Your identification has been saved in /Users/faner/.ssh/id_rsa.

Your public key has been saved in /Users/faner/.ssh/id_rsa.pub.

重复以上步骤生成多对 ssh key。

  1. 2. 复制公钥到git服务器上的ssh keys设置的地方
  2. 2. 进入用户 `home` 目录下的 `.ssh``cd ~/.ssh`
  3. 2. 配置 `config`。请参考下面我的配置格式。
  4. <a name="8bc6a18a"></a>
  5. ## 我的配置
  6. - 目录结构
  7. ```tree
  8. ./ssh
  9. ├── config
  10. ├── github
  11. ├── github.pub
  12. ├── id_rsa
  13. ├── id_rsa.pub
  14. └── known_hosts
  • config文件内容
  1. # 配置gitlab.blissmall.net
  2. Host blissmall
  3. HostName gitlab.blissmall.net
  4. IdentityFile C:\Users\win7\.ssh\id_rsa
  5. PreferredAuthentications publickey
  6. User yangyongpeng # 网站对应用户名
  7. # 配置github.com
  8. Host github
  9. HostName github.com
  10. IdentityFile C:\Users\win7\.ssh\github
  11. PreferredAuthentications publickey
  12. User bugknightyyp # 网站对应用户名

注意事项

git是通过你gitconfig里配置的邮箱来匹配你账户信息的,所以如果你本地仓库没有配置用户信息,git就会使用全局配置的用户信息。如果多个账户信息不一样,需要为每个仓库单独配置账号信息。

以下是配置全局或者本地仓库用户信息的命令:

  1. git config --(global|local) user.name bugknightyyp
  2. git config --(global|local) user.email bugknightyyp@gmail.com

参考

Mac生成多个ssh并配置不同域名