配置两个SSH Key用于工作和私人
配置git用户名和密码
git config --global user.name "xm"
git config --global user.email "xm@mail.com"
配置本地Repo的用户名和密码
git config user.name "xm"
git config user.email "xm@mail.com"
生成两个SSH Key
ssh-keygen -t rsa_company -C "your company email@mail.com"
ssh-keygen -t rsa_github -C "your self email @mail.com"
检查你的ssh key是否生成成功 ,通常路径在:
window下ssh的路径: /c/Users/xxxx/.ssh/id_rsa.pub
linux下ssh的路径:~/.ssh/id_rsa.pub
mac下ssh的路径:~/.ssh/id_rsa.pub
添加两个pub key到对应平台上
配置config文件
新建config 文件在.ssh目录下,用来指定不同的用户读取的rsa文件
# 若.ssh目录下无config文件,那么创建
touch config
# config文件中添加以下内容
# 比如gitlab
Host gitlab.com ## Host 这个指明的是HOST地址,也就是项目的HostName,如:git@gitee.com:ghostgithub/xUtils.git gitee.com就是其对应的Host(访问的项目的地址)
HostName gitlab.com ## HostName 就是访问的地址,如:https://gitlab.com/ 就是其HostName(IP地址,访问的码云的网页上的url地址) (https://建议不要加上)
PreferredAuthentications publickey ## 指明配置的是公钥
IdentityFile ~/.ssh/rsa_company
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/rsa_gitlab
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/rsa_github
切换用户
// 这里就用到了配置文件中的host对应的字段
ssh -T git@github.com
出现如下表示成功
Hi x x x! You've successfully authenticated, but GitHub does not provide shell access.
加 -v 表示输出debug信息
遇到问题
切换github 账号成功: ssh -T git@github.com
但是切换回公司帐号失败:
解决
不过我拉取和提交代码时又会自动切换。。。