windows - asking - bitbucket login console



Git-Como usar o arquivo.netrc no Windows para salvar usuário e senha (3)

É possível usar um arquivo .netrc no Windows?

Sim, você deve:

  • define a variável de ambiente %HOME% (pré-Git 2.0, não mais necessária com o Git 2.0+)
  • coloque um arquivo _netrc em %HOME%

Se você estiver usando o Windows 7/10, em uma sessão CMD , digite:

setx HOME %USERPROFILE%

e %HOME% será definido como ' C:\Users\"username" '.
Vá nessa pasta ( cd %HOME% ) e faça um arquivo chamado ' _netrc '

Nota: Novamente, para o Windows, você precisa de um arquivo ' _netrc ', não um arquivo ' .netrc '.

Seu conteúdo é bastante normal (substitua os <examples> pelos seus valores):

machine <hostname1>
login <login1>
password <password1>
machine <hostname2>
login <login2>
password <password2>

Luke menciona nos comentários:

Usando a versão mais recente do msysgit no Windows 7, não precisei definir a variável de ambiente HOME . O arquivo _netrc sozinho fez o truque.

Isso é realmente o que eu mencionei em " Tentando" install github, o diretório .ssh não está lá ":
git-cmd.bat incluído no msysgit define a variável de ambiente %HOME% :

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

爱国者 acredita nos comentários que "parece que não vai funcionar para protocolo http"

No entanto, respondi que o netrc é usado pelo curl , e funciona para o protocolo HTTP, conforme mostrado neste exemplo (procure por ' netrc ' na página):. Também usado com o protocolo HTTP aqui: " _netrc / .netrc alternative to cURL ".

Uma armadilha comum com o suporte netrc no Windows é que o git irá contorná-lo se uma URL https de origem especificar um nome de usuário.

Por exemplo, se o seu arquivo .git/config contiver:

[remote "origin"]
     fetch = +refs/heads/*:refs/remotes/origin/*
     url = https://[email protected]/p/my-project/

O Git não irá resolver suas credenciais via _netrc , para corrigir isso, remova seu nome de usuário, assim:

[remote "origin"]
     fetch = +refs/heads/*:refs/remotes/origin/*
     url = https://code.google.com/p/my-project/

Solução alternativa: Com git versão 1.7.9+ (janeiro de 2012): Esta resposta de Mark Longair detalha o mecanismo de cache de credenciais que também permite que você não armazene sua senha em texto simples, como mostrado abaixo.

Com o Git 1.8.3 (abril de 2013):

Agora você pode usar um .netrc criptografado (com gpg ).
No Windows: %HOME%/_netrc ( _ , não ' . ')

Um novo auxiliar de credencial somente leitura (em contrib/ ) para interagir com os arquivos .netrc/.authinfo foi adicionado.

Esse script permitiria que você usasse arquivos netrc criptografados por gpg , evitando o problema de ter suas credenciais armazenadas em um arquivo de texto simples.

Os arquivos com a extensão .gpg serão descriptografados pelo GPG antes da análise.
Vários argumentos -f estão OK. Eles são processados ​​em ordem e a primeira entrada correspondente encontrada é retornada por meio do protocolo auxiliar de credencial.

Quando nenhuma opção -f é fornecida, os .authinfo.gpg , .netrc.gpg , .authinfo e .netrc no seu diretório pessoal são usados ​​nesta ordem.

Para habilitar este auxiliar de credencial:

git config credential.helper '$shortname -f AUTHFILE1 -f AUTHFILE2'

(Note que o Git irá prefixar " git-credential- " para o nome do ajudante e procurar por ele no caminho.)

# and if you want lots of debugging info:
git config credential.helper '$shortname -f AUTHFILE -d'

#or to see the files opened and data found:
git config credential.helper '$shortname -f AUTHFILE -v'

Veja um exemplo completo em " Existe uma maneira de pular a digitação de senha ao usar https:// github "

Com o Git 2.18+ (junho de 2018), você agora pode personalizar o programa GPG usado para descriptografar o arquivo .netrc criptografado.

Veja commit 786ef50 , commit f07eeed (12 mai 2018) por Luis Marsano (``) .
(Mesclado por Junio ​​C Hamano - gitster - em commit 017b7c5 , 30 de maio de 2018)

git-credential-netrc : aceita a opção gpg

git-credential-netrc foi codificado para descriptografar com ' gpg ', independentemente da opção gpg.program.
Este é um problema em distribuições como o Debian que chamam o GnuPG moderno de alguma outra coisa, como ' gpg2 '

É possível usar um arquivo .netrc no Windows quando estou usando o Git para clonar um repositório remoto com HTTP e user-password?


Estou postando uma maneira de usar o _netrc para baixar materiais do site www.course.com.

Se alguém vai usar o coursera-dl para baixar os materiais de classe aberta em www.coursera.com, e no sistema operacional Windows alguém quer usar um arquivo como ".netrc", que é semelhante ao sistema operacional Unix para adicionar o opção -n vez de -U <username> -P <password> por conveniência. Ele / ela pode fazer assim:

  1. Verifique o caminho inicial no sistema operacional Windows: setx HOME %USERPROFILE% (consulte a resposta da VonC ). Ele salvará a variável de ambiente HOME como C:\Users\"username" .

  2. Localize no diretório C:\Users\"username" e crie um nome de arquivo _netrc . NOTA: NÃO há nenhum sufixo. o conteúdo é como: machine coursera-dl login <user> password <pass>

  3. Use um comando como coursera-dl -n --path PATH <course name> para baixar os materiais da classe. Mais detalhes da opção coursera-dl para esta página .


Você também pode instalar o Git Credential Manager para Windows para salvar as senhas do Git no gerenciador de credenciais do Windows em vez de _netrc . Essa é uma maneira mais segura de armazenar senhas.





authentication