Recentemente, no meu sistema linux, me deparei com um problema de não poder me comprometer com meu próprio repositório do github. Quando eu tento fazer isso, é isso que eu recebo:
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/'
O que acontece é que recebo uma janela que me pede para fazer login no github (através da interface da web), faço isso, recebo a página "Autorização bem-sucedida, retorne ao seu aplicativo" no meu navegador - e no meu aplicativo aparentemente posso ver isso minha máquina não confia no github. Por algum motivo.
Como faço para convencê-lo de que é de fato OK aumentar a conexão segura com o github?
Se isso for importante, meu sistema é linux mint.
Para mim, tive melhores experiências usando SSH para a conexão Git do que HTTPS.
Para isso você deve criar uma nova chave SSH, de preferência protegida por senha. O par de chaves consiste em chave pública e privada.
~/.ssh/github.pub
~/.ssh/github
Agora você pode adicionar a chave pública nas configurações do GitHub clicando em "Nova chave SSH".
Depois você deve adicionar a nova origem ao seu repositório.
Ao usar SSH com chaves, você não tem mais o problema de ter que autorizar a sessão HTTPS através do navegador. Dessa forma, você pode pelo menos contornar seu erro.
Pode ser necessário atualizar seu repositório de certificados raiz.
Se você estiver usando um proxy MITM ou tiver um certificado autoassinado ou desconhecido, recupere o certificado de assinatura e aponte para ele com
sslCAInfo
.