Programing

Git-Windows에서 .netrc 파일을 사용하여 사용자 및 비밀번호를 저장하는 방법

lottogame 2020. 5. 28. 07:53
반응형

Git-Windows에서 .netrc 파일을 사용하여 사용자 및 비밀번호를 저장하는 방법


Git을 사용하여 HTTP 및 사용자 비밀번호로 원격 저장소를 복제 할 때 Windows에서 .netrc 파일을 사용할 수 있습니까?


.netrcWindows 에서 파일 을 사용할 수 있습니까?

예 : 다음을 수행해야합니다.

  • 환경 변수 정의 %HOME%(Git 2.0 이상에서는 더 이상 필요하지 않은 Pre-Git 2.0)
  • _netrc파일을 넣다%HOME%

Windows 7/10을 사용하는 경우 CMD세션에서 다음을 입력하십시오.

setx HOME %USERPROFILE%

그리고 %HOME%' C:\Users\"username"' 로 설정됩니다 .
해당 폴더 ( cd %HOME%)로 이동하여 ' _netrc'

참고 : 다시, Windows 용, 당신은 '필요 _netrc'파일, 하지 에 ' .netrc'파일을.

내용은 매우 표준입니다 ( <examples>값으로 대체 ).

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

누가 는 주석에서 언급합니다.

Windows 7에서 최신 버전의 msysgit을 사용하면 HOME환경 변수 를 설정할 필요가 없습니다 . _netrc파일은 혼자 트릭을했다.

이것은 실제로 " install"github, .sshdir not there " 에서 언급 한 것입니다 .
git-cmd.batmsysgit에 포함 된 것은 %HOME%환경 변수를 설정합니다 :

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

爱国者는 "http 프로토콜에서는 작동하지 않는 것 같습니다"라는 의견을 믿고 있습니다.

그러나 나는 이 예제에 표시된 것처럼 (에서 netrc사용하고 curlHTTP 프로토콜에서 작동 한다고 대답했습니다 ( 페이지에서 ' ') :. HTTP 프로토콜과 함께 사용됩니다 : " / alternative to ".netrc_netrc.netrccURL


netrcWindows 에서 지원 되는 일반적인 트랩 은 origin https url이 사용자 이름을 지정하면 git이이를 사용하지 않는 것입니다.

예를 들어 .git/config파일에 다음이 포함 된 경우

[원격 "원산지"
     가져 오기 = + refs / heads / * : refs / remotes / origin / *
     url = https : //bob@code.google.com/p/my-project/

Git은을 통해 자격 증명을 확인하지 _netrc않으므로 다음과 같이 사용자 이름을 제거하십시오.

[원격 "원산지"
     가져 오기 = + refs / heads / * : refs / remotes / origin / *
     url = https://code.google.com/p/my-project/

대체 솔루션 :와 자식 버전 1.7.9+ (2012 년 1 월) : 이 답변 에서 마크 Longair가 세부 자격 증명 캐시 메커니즘 또한 당신이 할 수 없는 아래와 같이 일반 텍스트 암호를 저장합니다.


함께 힘내 1.8.3 (2013 년 4 월) :

당신은 이제 사용할 수 있습니다 암호화하면 .netrc (과를 gpg).
Windows의 경우 : %HOME%/_netrc( _', not' .')

파일 과 상호 작용하기 위한 새로운 읽기 전용 자격 증명 도우미 ( contrib/) .netrc/.authinfo가 추가되었습니다.

이 스크립트를 사용하면 자격 증명이 일반 텍스트 파일에 저장되는 문제를 피하면서 gpg 암호화 된 netrc 파일사용할 수 있습니다 .

.gpg확장자가있는 파일은 파싱하기 전에 GPG에 의해 해독됩니다.
여러 개의 -f인수는 괜찮습니다. 순서대로 처리되며, 발견 된 첫 번째 일치 항목은 신임 헬퍼 프로토콜을 통해 리턴됩니다.

어떤 경우에는 -f옵션이 제공되지 않는, .authinfo.gpg, .netrc.gpg, .authinfo, 및 .netrc홈 디렉토리에있는 파일은 다음 순서로 사용된다.

이 자격 증명 도우미를 활성화하려면

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

Git은 git-credential-도우미 이름 앞에 " "를 붙여 경로에서 찾습니다.

# 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'

"에서 전체 예제를 참조하십시오 사용할 때 암호 입력을 생략 할 수있는 방법이 있나요https:// github "


Git 2.18+ (2018 년 6 월)를 사용하면 암호화 된 .netrc파일의 암호를 해독하는 데 사용되는 GPG 프로그램을 사용자 지정할 수 있습니다 .

Luis Marsano (``)의 commit 786ef50 , commit f07eeed (2018 년 5 월 12 일)를 참조하십시오 . ( Junio ​​C Hamano의해 병합 - 커밋 017b7c5 , 2018 년 5 월 30 일)
gitster

git-credential-netrc: gpg옵션을 수락

git-credential-netrc was hardcoded to decrypt with 'gpg' regardless of the gpg.program option.
This is a problem on distributions like Debian that call modern GnuPG something else, like 'gpg2'


You can also install Git Credential Manager for Windows to save Git passwords in Windows credentials manager instead of _netrc. This is a more secure way to store passwords.


This will let Git authenticate on HTTPS using .netrc:

  • The file should be named _netrc and located in c:\Users\<username>.
  • You will need to set an environment variable called HOME=%USERPROFILE% (set system-wide environment variables using the System option in the control panel. Depending on the version of Windows, you may need to select "Advanced Options".).
  • The password stored in the _netrc file cannot contain spaces (quoting the password will not work).

I am posting a way to use _netrc to download materials from the site www.course.com.

If someone is going to use the coursera-dl to download the open-class materials on www.coursera.com, and on the Windows OS someone wants to use a file like ".netrc" which is in like-Unix OS to add the option -n instead of -U <username> -P <password> for convenience. He/she can do it like this:

  1. Check the home path on Windows OS: setx HOME %USERPROFILE%(refer to VonC's answer). It will save the HOME environment variable as C:\Users\"username".

  2. Locate into the directory C:\Users\"username" and create a file name _netrc.NOTE: there is NOT any suffix. the content is like: machine coursera-dl login <user> password <pass>

  3. Use a command like coursera-dl -n --path PATH <course name> to download the class materials. More coursera-dl options details for this page.

참고URL : https://stackoverflow.com/questions/6031214/git-how-to-use-netrc-file-on-windows-to-save-user-and-password

반응형