其他分享
首页 > 其他分享> > Git多账户配置(SSH Key)

Git多账户配置(SSH Key)

作者:互联网

实际生活中可能存在同一电脑需要配置多个Git账户的场景,一个账号用于工作内容提交,余下账号用于个人GitHub或者Gitee等仓库的管理,故在配置完毕做一小结。

如有需要,建议先看完再自行设置。

前置提示

  1. 原先本地已经生成了.ssh公钥的,建议删除文件再进行后续操作,可以先添加config文件再生成SSH Key,并无前后顺序要求。
  2. 不同账户使用别名区分,可以方便记忆自行设置别名,但后续clone仓库时需要将服务地址替换为别名,建议别名设置同服务地址。举个例子,如果给自己的github账号取别名为github,由于github实际服务地址为github.com,后续clone仓库需将github.com(服务地址)替换为github(别名),一致则无需替换。
  3. 不同账号设置密码后,后续代码拉取提交均需输入密码(笔者没有尝试不带密码的生成方式)。

生成不同账号的SSH Key

1 ssh-keygen -t rsa -C "email"
2 Generating public/private rsa key pair.
3 Enter file in which to save the key (~/.ssh/id_rsa):<不要直接回车,填写自己定义的别名>
4 Enter passphrase(empty for on passphrase):<不要直接回车,填写自己定义的密码>

说明 : 以公司账号别名xxxx为例,录入公司邮箱,公司别名,自设密码。后续重复同样操作,别名添加为github(或者其他),操作完毕后可以看到本地生成了以xxxx.pub命名的公钥(别名.pub),自行添加至对应网站。(笔者没有尝试不加密码的生成方式),同样建议github账户别名设置为github.com。

编辑~/.ssh/config文件

在.ssh即公钥生成的同层目录下新建config文件

Host xxxx // 别名
HostName git.xxxx.net.cn  // 实际为公司git域名
IdentityFile ~/.ssh/xxxx // 自行替换别名,需要跟生成ssh时的别名一致
User username1 // 设置了但是提交时并不一致,尚未找到原因
Host github
HostName github.com // github真实服务地址
IdentityFile ~/.ssh/github
User username2

git clone

代码拉取需要使用别名替换服务地址(一致则无需替换),以个人github仓库为例,用于仓库克隆的ssh地址通常为git@服务地址:账户名/仓库名.git,需要将服务地址替换为设置的别名,即正常拉取代码为git@别名:账户名/仓库名.git,知悉

git@github.com:Lin/test.git  // 原始链接
git@github:Lin/test.git  // 正确链接

说明:笔者由于config配置中的用户名在代码提交时未生效,补充将全局git环境中的名称及邮件设置为工作名称及邮箱,按需设置。

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

参考链接

  1. 同一台电脑配置多个SSH链接
  2. 在一台电脑上,如何配置多个SSH Key?

标签:git,别名,github,地址,Git,SSH,Key,config,ssh
来源: https://www.cnblogs.com/LinPQ/p/16558167.html