SSH-GIT 多账户最佳实践配置

SSH-GIT 多账户最佳实践配置

  1. 为每个 GitHub 账户生成一对SSH 密钥,以及一个 Gitee 账户的 SSH 密钥

    ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/coder_itl_github
    ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/itl_coder
    ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/coder_itl_gitee
    
  2. 将每个公钥添加到相应的 GitHub 或 Gitee 账户中。您可以通过以下方式复制公钥

    clip < ~/.ssh/coder_itl_github.pub
    clip < ~/.ssh/itl_coder.pub
    clip < ~/.ssh/coder_itl_gitee.pub
    

    接下来,打开每个账户的网站,并将公钥添加到相应的账户设置中

  3. 创建一个名为 config 的文件,并将其存储在 .ssh 文件夹中。该文件将包含每个账户的配置信息。以下是 config 文件的示例内容

    # 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
    
    
  4. 配置用户名和密码

    git config --global user.name "coder-itl"
    git config --global user.email "[email protected]"
    
  5. 测试是否配置正确

    ssh -T [email protected]
    ssh -T [email protected]
    ssh -T [email protected]
    
    测试各个账号
    SSH-GIT 多账户最佳实践配置_第1张图片
  6. 如果您需要在同一会话中使用多个账户,则可以使用以下命令

    # 添加 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执行如下

      错误信息
      SSH-GIT 多账户最佳实践配置_第2张图片
      • PowerShell终端执行

        # 在 Windows 上,ssh-agent 是由 Git for Windows 包提供的,它可以为您管理 ssh 密钥。通过将其启动类型更改为手动,您可以控制何时启动 ssh-agent 服务,而不是在每次计算机启动时自动启动。
        
        # 使用 Set-Service 命令时,ssh-agent 是服务名称,-StartupType 是设置启动类型的参数,Manual 是新的启动类型值。将启动类型设置为 "Manual" 意味着服务将不会在每次计算机启动时自动启动,但仍然可以手动启动。
        
        Set-Service ssh-agent -StartupType Manual
        
      • 重复执行第6步

        出现如下为已解决错误
        SSH-GIT 多账户最佳实践配置_第3张图片
  1. gitee账户的配置添加

    rm -rf known_hosts*
    
    先行删除~/.ssh/known_hosts,成功加入gitee账户配置
    SSH-GIT 多账户最佳实践配置_第4张图片

你可能感兴趣的:(git,ssh,github)