Como corrigir o git sempre solicitando credenciais de usuário para autenticação HTTP (s)

Como corrigir o git sempre solicitando credenciais de usuário para autenticação HTTP (s)

Para acessar ou trabalhar com um repositório Git remoto, você pode usar Ssh ou HTTP (s) protocolos; Com o primeiro, quando se trata de repositórios particulares, você pode simplesmente configurar as teclas SSH sem uma senha que permite transferir dados com segurança sem digitar seu nome de usuário e senha.

No entanto, com HTTP (s), Cada conexão solicitará que você insira seu nome de usuário e senha (quando o Git precisar de autenticação para um contexto de URL específico) - os usuários do github sabem disso.

Neste artigo, mostraremos como consertar o Git sempre pedindo credenciais de usuário para acesso HTTP (s). Explicaremos diferentes maneiras de impedir que o Git solicite repetidamente o nome de usuário e a senha ao interagir com um repositório remoto sobre HTTP (s).

Como instalar o Git no Linux

Se você não tem o Git Pacote instalado no seu sistema, execute o comando apropriado para sua distribuição Linux para instalá -lo (use o Sudo comando sempre que necessário).

$ sudo apt install git [no debian/ubuntu] # yum install git [no CentOS/rhel/fedora] $ sudo zypper install git [no openSuse] $ sudo pacman -s git [no arch Linux] 

Inserindo o nome de usuário e senha do Git em URL remoto

Como mencionamos anteriormente, ao clonar um controle remoto Git repositório acima HTTP (s), Cada conexão precisa de um nome de usuário e senha como mostrado.

CLONE REMOTO GIT Repositório

Prevenir Git de pedir o seu nome de usuário e senha, Você pode inserir as credenciais de login no URL, como mostrado.

$ sudo git clone https: // nome de usuário: [email protegido]/nome de usuário/repo_name.clone git ou $ sudo git https: // nome de usuário: [email protegido]/nome de usuário/repo_name.git local_folder 
Adicione credenciais Git em URL

A principal desvantagem deste método que seu nome de usuário e senha será salvo no comando no arquivo de história do shell.

Veja a história da concha

bem como no .git/config arquivo sob a pasta local, que possui um risco de segurança.

$ cat .git/config 
Veja credenciais Git no arquivo de configuração

Observação: Para usuários do GitHub que ativaram a autenticação de dois fatores ou estão acessando uma organização que usa Saml Single Sign-On, você deve gerar e usar um token de acesso pessoal em vez de inserir sua senha para Https git (como mostrado nas saídas da amostra neste guia). Para gerar um token de acesso pessoal, em Github, Vá para Configurações => Configurações do desenvolvedor => Pessoal Acesso tokens.

Salvar o nome de usuário e a senha do repositório Remote Git no disco

O segundo método é usar o ajudante de credenciais Git para salvar seu nome de usuário e senha em um arquivo simples no disco, como mostrado.

Credencial de configuração de $ git.Helper Store ou $ Git Config -Credencial global.Helper Store 

De agora em diante, Git escreverá credenciais para o ~/.Git-Credenciais arquivo para cada contexto de URL, quando acessado pela primeira vez. Para visualizar o conteúdo deste arquivo, você pode usar o comando CAT como mostrado.

$ cat ~//.Git-Credenciais 
Ver credenciais Git salvas no disco

Para comandos subsequentes para o mesmo contexto de URL, o Git lerá suas credenciais de usuário do arquivo acima.

Assim como o método anterior, essa maneira de passar credenciais de usuário para Git também é seguro, pois o arquivo de armazenamento não é criptografado e é protegido apenas por permissões padrão do sistema de arquivos.

O terceiro método explicado abaixo é considerado mais seguro.

Armazenar em armazenamento de armazenamento de armazenamento de armazenamento de usuário e senha do repositório Remote Git na memória

Por último, mas não menos importante, você também pode usar o Git Credenciais Helper para salvar temporariamente suas credenciais na memória por algum tempo. Para fazer isso, emita o seguinte comando.

Credencial de configuração de $ git.Cache do ajudante ou Credencial Global.cache do auxiliar 

Depois de executar o comando acima, quando você tenta acessar um repositório privado remoto pela primeira vez, o Git solicitará seu nome de usuário e senha e salvá -lo na memória por algum tempo.

Credenciais de cache git na memória

O tempo de cache padrão é 900 segundos (ou 15 minutos), após o que o Git solicitará que você insira seu nome de usuário e senha novamente. Você pode alterá -lo da seguinte maneira (1800 segundos = 30 minutos ou 3600 segundos = 1 hora).

$ Git Config -Credencial global.Helper 'cache -tempo -timeout = 18000' ou $ git config -credencial global.Helper 'cache -tempo -limite = 36000' 

Para mais informações sobre Git e ajudantes de credenciais, veja suas páginas de homem.

$ MAN Git $ MAN GIT-CACHE 

Este guia foi útil? Informe -nos através do formulário de feedback abaixo. Você também pode compartilhar quaisquer perguntas ou pensamentos sobre este tópico.