Eu tenho que usar um servidor git sem certificados adequados, mas não quero fazer
env GIT_SSL_NO_VERIFY=true git command
toda vez que faço uma operação git. Mas também gostaria de deixar o SSL ativado para outros repositórios git. Existe uma maneira de tornar esse local em um único repositório?
Respostas:
Você pode fazer
no seu repo específico para desativar a verificação de certificado SSL apenas para esse repo.
fonte
--global
opção É necessária quando um repo ainda não está em check-out (não é possível definir opções para um repo que ainda não existe localmente). Pode-se sempre ligar novamente depois.Você pode fazer o seguinte
Para um único repo
Para todos os repositórios
fonte
sudo
só deve ser usado quando você realmente precisa de raiz para fazer alguma coisa. Como instalar um novo software, modificar arquivos importantes do sistema, reformatar unidades, reconfigurar a rede, gerenciar serviços ... Não havia nada na pergunta desse cara que sugerisse que ele precisava de raiz para fazer qualquer coisa. Se você é um administrador, deve executar a maioria dos seus comandos - incluindo aqueles que alteram sua configuração - sem o sudo na maioria das vezes.Como o que Thirumalai disse, mas dentro e fora do repositório clonado
--global
. Ou seja,GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
fonte
could not lock global config file .gitconfig: Permission denied
/var/www/...
Em particular, se você precisar de clones recursivos
fonte
Se você estiver em uma máquina Windows e tiver o Git instalado, tente as etapas abaixo:
Na seção [http] , adicione a linha: sslVerify = false
fonte
Existe uma maneira fácil de configurar o GIT para lidar com o servidor da maneira certa. Basta adicionar uma seção http específica ao seu servidor git e especificar em qual certificado (codificado em Base64) confiar:
~ / .gitconfig
Dessa forma, você não terá mais erros de SSL e validará o (geralmente) certificado autoassinado. Este é o melhor caminho a seguir, pois protege você contra ataques do tipo intermediário. Quando você desativa a verificação de SSL, fica vulnerável a esse tipo de ataque.
https://git-scm.com/docs/git-config#git-config-httplturlgt
fonte
Se você precisar desativar as verificações de SSL para um servidor git que hospeda vários repositórios, poderá executar:
(Se você ainda usa o git <v1.8.5, execute
git config --global http.https://my.bad.server.sslVerify false
)Explicação da documentação em que o comando está no final, mostra o
.gitconfig
conteúdo parecido com:Ele ignorará qualquer verificação de certificado para este servidor, qualquer que seja o repositório.
Você também tem alguma explicação no código
fonte
Isso funciona para mim:
fonte
Essa pergunta continua aparecendo e eu ainda não encontrei um resultado satisfatório. Eis o que funcionou para mim (com base em uma resposta anterior https://stackoverflow.com/a/52706362/1806760 , que não está funcionando):
Meu servidor está
https://gitlab.dev
com um certificado autoassinado.Execute primeiro
git config --system --edit
(a partir de um prompt de comando elevado, altere--system
para--global
se você desejar fazê-lo apenas para o usuário) e, em seguida, insira o seguinte trecho após as[http]
seções anteriores :Em seguida, verifique se você fez tudo corretamente:
fonte
para windows, se você quiser configuração global, execute
fonte
specific repos
explicitamenteNo Linux, se você chamar isso dentro da pasta do repositório git:
isso será adicionado
sslVerify = false
na[http]
seção doconfig
arquivo na.git
pasta, que também pode ser a solução, se você desejar adicionar isso manualmente comnano .git/config
:fonte