SSH-GIT 多账户最佳实践配置
SSH-GIT 多账户最佳实践配置
-
为每个
GitHub
账户生成一对SSH
密钥,以及一个Gitee
账户的SSH
密钥1
2
3
4# ed25519 / rsa
ssh-keygen -t ed25519 -C "123456@qq.com" -f ~/.ssh/coder_itl_github
ssh-keygen -t ed25519 -C "123456@gmail.com" -f ~/.ssh/itl_coder
ssh-keygen -t ed25519 -C "123456@qq.com" -f ~/.ssh/coder_itl_gitee -
将每个公钥添加到相应的 GitHub 或 Gitee 账户中。您可以通过以下方式复制公钥
1
2
3clip < ~/.ssh/coder_itl_github.pub
clip < ~/.ssh/itl_coder.pub
clip < ~/.ssh/coder_itl_gitee.pub接下来,打开每个账户的网站,并将公钥添加到相应的账户设置中。
-
创建一个名为
config
的文件,并将其存储在.ssh
文件夹中。该文件将包含每个账户的配置信息。以下是config
文件的示例内容1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# ITL-Coder account
Host github.com-itl-coder
HostName github.com
User git
IdentityFile ~/.ssh/itl_coder
# CoderITL account
Host github.com-coderitl
HostName github.com
User git
IdentityFile ~/.ssh/coder_itl_github
# Gitee account
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/coder_itl_gitee -
配置用户名和密码
1
2git config --global user.name "username"
git config --global user.email "xx@qq.com" -
测试是否配置正确
1
2
3
4
5
6# gmail
ssh -T git@github.com-itl-coder
# github
ssh -T git@github.com-coderitl
# gitee
ssh -T git@gitee.com测试各个账号 -
如果您需要在同一会话中使用多个账户,则可以使用以下命令
1
2
3
4
5
6
7
8
9# 添加 ITL-Coder 的密钥到 ssh-agent
ssh-add ~/.ssh/itl_coder
# 添加 CoderITL 的密钥到 ssh-agent
ssh-add ~/.ssh/coder_itl_github
# 添加 Gitee 的密钥到 ssh-agent
ssh-add ~/.ssh/coder_itl_gitee-
如果
ssh-add
出现错误, 打开 powershell
执行如下 错误信息 -
PowerShell
终端执行 1
2
3
4
5# 在 Windows 上,ssh-agent 是由 Git for Windows 包提供的,它可以为您管理 ssh 密钥。通过将其启动类型更改为手动,您可以控制何时启动 ssh-agent 服务,而不是在每次计算机启动时自动启动。
# 使用 Set-Service 命令时,ssh-agent 是服务名称,-StartupType 是设置启动类型的参数,Manual 是新的启动类型值。将启动类型设置为 "Manual" 意味着服务将不会在每次计算机启动时自动启动,但仍然可以手动启动。
Set-Service ssh-agent -StartupType Manual -
重复执行
第
6 步 出现如下为已解决错误
-
-
-
当在推送时需要,
后续修改在网页中获取到的 ssh
地址, 因为在本地的 config
文件中配置, 需要使用这个 本地配置的域名进行区分推送到那个账户上
注意点: 只是第一次需要将 ssh
地址的 github.com
更换为 config
中的 Host
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 coder-itl!
评论