Git 使用ssh方式 本地单用户修改为多用户
*访问多个git服务器的不同项目,可以在本地配置多个ssh key私钥,关联各自git服务器,每个项目通过不同的key操作
一、清除之前的全局单用户信息
# 查看全局配置
git config --global --list
# 卸载全局配置
git config --global --unset user.name
git config --global --unset user.email
二、本地生成多个ssh key私钥
本案例通过码云演示,原理一样,其他git服务,相同操作即可
2.1 生成git密钥文件
添加名为id_rsa_gitee的密钥文件
此命令请在目录C:/Users/xxxxxxxxxx/.ssh(git默认私钥文件目录)中通过git窗口执行
xxxxxxxxxx是自己的电脑用户名
# 生成码云(gitee)ssh的私钥文件
ssh-keygen -t rsa -C "xxx@xxx.com" (修改自己的账号)
设置ssh密码(本地ssh的密码),默认为空就行,直接回车
在C:/Users/LC/.ssh目录中生成id_rsa_gitee、id_rsa_gitee.pub两个文件
目录路径“LC”是我电脑用户名,请用自己的用户名
2.2 密钥文件关联git服务器
把文件id_rsa_xxxxxxx.pub(每个git服务器生成一个)中的内容配置到git服务器的SSH公钥管理中,每个git服务配置不一样,请查看各自的官网文档
2.3 本地添加ssh keys的配置文件
该配置文件管理本机ssh keys,在C:\Users\LC.ssh目录中添加config文件
详细配置信息
Host github.com
HostName github.com
User xxxxxx
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
Host gitee.com
HostName gitee.com
User xxxxx
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
- Host和HostName:git服务器地址
- User:git用户名
- PreferredAuthentications:身份验证方式:公钥
- IdentityFile:验证文件,本地生成的密钥文件
三、项目关联ssh key密钥
3.1和3.2任选一种即可
3.1 通过命令关联项目和密钥
以下“user.name=xxxx”对应 步骤3 中config文件中的“User xxxx”
# 查看项目用户信息
git config --list
# 设置项目用户名
git config user.name "xxxxx"
# 设置项目邮箱
git config user.email "xxxx@xx.com"
3.2 手动添加配置文件
在项目中.git目录中修改config,添加user配置, 默认没有改配置
[user]
name = xxxx
email = xxx@xxxx.com