如何在 Linux 上教 git 信任 github?

如何在 Linux 上教 git 信任 github?

最近,我在 Linux 系统上遇到了无法提交到我自己的 GitHub 存储库的问题。当我尝试这样做时,我得到的是:

my prompt: > git push --verbose
Pushing to https://github.com/MyUsername/my-repository.git
info: please complete authentication in your browser...
fatal: The SSL connection could not be established, see inner exception.
fatal: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
Username for 'https://github.com': 
Password for 'https://github.com': 
remote: No anonymous write access.
fatal: Authentication failed for 'https://github.com/MyUsername/my-repository.git/'

发生的事情是,我得到一个窗口,要求我登录 github(通过 Web 界面),我照做了,在浏览器中得到页面“授权成功,返回到您的应用程序” - 并且在我的应用程序中我显然可以看到我的机器不信任 github。出于某种原因。

我怎样才能说服它确实可以与 github 建立安全连接?

如果这很重要,我的系统是 Linux Mint。

答案1

就我个人而言,使用 SSH 进行 Git 连接的体验比 HTTPS 更好。

  1. 为此,您应该创建一个新的 SSH 密钥,最好用密码保护。密钥对由公钥和私钥组成。

    ssh-keygen -t ed25519 -a 100 -f ~/.ssh/github
    
    • 公钥文件:~/.ssh/github.pub
    • 私钥文件:~/.ssh/github
  2. 您现在可以在GitHub 设置点击“新 SSH 密钥”。

    cat ~/.ssh/github.pub
    
  3. 之后您必须将新来源添加到您的存储库。

    git remote add origin ssh://[email protected]:MyUsername/my-repository.git
    

通过使用带密钥的 SSH,您不再需要通过浏览器授权 HTTPS 会话。这样您至少可以解决错误。

答案2

您可能需要更新您的根证书存储库。

如果您正在使用 MITM 代理或者拥有自签名或未知证书,请检索签名证书并使用 指向它sslCAInfo

相关内容