Atualmente, sempre que eu git pull
ou git push
em um repositório http (s), recebo o seguinte:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
Isso é aceitável para uso pouco frequente, mas começa a se tornar realmente irritante muito rapidamente. Infelizmente, mudar para ssh não é uma opção nesse caso.
Eu li que as versões anteriores git
forneciam credenciais "armazenamento" e "cache", mas isso não foi recomendado porque armazenava a senha em texto sem formatação.
MAS
git
Aparentemente, versões mais recentes de aparentemente armazenam credenciais git no diretório gnome-keyring
, mas precisam ser configuradas corretamente.
Eu tentei seguir outras respostas (não Ubuntu) no SO para fazer com que isso funcionasse (ou seja, este ), mas ainda recebo o prompt de nome de usuário e senha.
Qual é a maneira correta e mais segura de armazenar git
credenciais para repositórios http (s) e como fazê-los funcionar no Ubuntu?
fonte
Respostas:
gnome-credential-helper
agora está obsoleto.Em vez disso, use libsecret. Se ainda não estiver integrado ao seu ubuntu, use o seguinte procedimento:
Você pode instalar
libsecret
e as bibliotecas de desenvolvimento com:sudo apt-get install libsecret-1-0 libsecret-1-dev
Então você precisa criar o gerenciador de credenciais
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Por fim, você deve apontar o git para o arquivo recém-criado em sua configuração:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Mais detalhes em https://stackoverflow.com/a/40312117/2017781
fonte
Você precisa configurar o git
credential helper
com o Gnome Keyring:Instale e compile o desenvolvimento do Gnome Keyring:
E configure a credencial:
fonte
git push
ougit pull
como normal e na primeira vez em que solicitará a loja ansd, e toda vez depois disso, obterá o chaveiro. Para verificar, executeseahorse
. Ele deve estar listado em "Senhas" -> "Login".Essa abordagem simples parece ser suficiente no meu Ubuntu 18.04.1 com git 2.17.1:
Você pode especificar um tempo limite de uma hora (= 3600 segundos) como este:
Leitura adicional no manual fino .
fonte