git配置github和gitee

59 阅读2分钟

流程

  1. 清除git的全局设置
    之前没设置过的则不用清除
    配置git全局属性:

    git config --global user.name "名字"                      
    git config --global user.email "邮箱"
    

    执行后会在根目录生成.gitconfig文件
    注:--global 表示全局属性,所有的git项目都会共用属性。 设置本地机器默认commit的昵称与Email. 请使用有意义的名字与email.

    可以通过git config --global --list查看。
    取消配置:

    git config --global --unset user.name "你的名字"
    git config --global --unset user.email "你的邮箱"
    
  2. 生成新的 SSH keys

  • GitHub 的钥匙
    ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "邮箱一" 一直回车即可。

  • Gitee 的钥匙
    换一个与github不同的邮箱
    ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "邮箱二" 一直回车即可。

    完成后会在~/.ssh / 目录下生成以下文件。

    id_rsa.github
    id_rsa.github.pub
    id_rsa.gitee
    id_rsa.gitee.pub
    
  1. 识别 SSH keys 新的私钥
    默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中。

    ssh-agent bash
    ssh-add ~/.ssh/id_rsa.github
    ssh-add ~/.ssh/id_rsa.gitee
    
  2. 多账号配置 config 文件
    创建config文件:touch ~/.ssh/config
    config :

    #Default gitHub user Self
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa.github
    
    # gitee
    Host gitee.com
        HostName gitee.com
        User git
        IdentityFile ~/.ssh/id_rsa.gitee
    
  3. 分别添加SSH到Gitee和Github:

    Github: github.com/settings/ke… 将 id_rsa.github.pub 中的内容填进去,起名的话随意。

    Gitee: gitee.com/profile/ssh… 将 id_rsa.gitee.pub 中的内容填进去,起名的话随意。

  4. 测试

    ssh -T git@gitee.com
    ssh -T git@github.com
    

git配置github错误解决

ssh: connect to host github.com port 22: Connection refused解决方法
使用ssh -vT git@github.com查看调试信息
作者调试结果如下:

OpenSSH_9.5p1, OpenSSL 3.1.4 24 Oct 2023
debug1: Reading configuration data /c/Users/86158/.ssh/config
debug1: /c/Users/86158/.ssh/config line 2: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to github.com [127.0.0.1] port 22.
debug1: connect to address 127.0.0.1 port 22: Connection refused
ssh: connect to host github.com port 22: Connection refused

SSH 配置将 github.com 指向了 127.0.0.1(本机) ,而不是 GitHub 的真实服务器!

这意味着:你不是在连接 GitHub,而是在尝试连接你自己电脑的 SSH 服务(通常没有运行),所以出现 Connection refused

解决方法

修改~/.ssh/config

Host github.com
    HostName ssh.github.com
    User git
    IdentityFile ~/.ssh/id_rsa.github