1.生成ssh key

  1. ssh-keygen -t rsa -f ~/.ssh/filename -C xxx@gmail.com

filename 是生成ssh密钥文件的文件名,不同远程仓库取不一样的名字,比如id_rsa_work 、id_rsa_github、id_rsa_gitee 等
xxx@gmail.com 是与远程仓库地址对应的邮箱,每个也可能不一样。
按照以上命令,生成多个ssh的密钥,并把对应的公钥(如id_rsa_github.pub 文件里面key)添加到相应远端。

2.添加config文件

在.ssh目录下,新建config文件。

  1. # github
  2. Host github.com
  3. HostName github.com
  4. User github
  5. IdentityFile ~/.ssh/id_rsa_github
  6. PreferredAuthentications publickey
  7. # gitee 开源中国
  8. Host gitee.com
  9. HostName gitee.com
  10. User gitee
  11. IdentityFile ~/.ssh/id_rsa_gitee
  12. PreferredAuthentications publickey

Host 自定义host别名
HostName 真实的域名地址
IdentityFile 这里是id_rsa的地址
PreferredAuthentications 配置登录时用什么权限认证—可设为publickey,password publickey,keyboard-interactive等
User 配置使用用户名

3.取消全局配置

  1. git config --global --unset user.name
  2. git config --global --unset user.email

为每个项目单独配置 user.name 和 user.email

  1. git config user.name "yourname"
  2. git config user.email "youremail"