Git-Windows에서 .netrc 파일을 사용하여 사용자 및 비밀번호를 저장하는 방법
Git을 사용하여 HTTP 및 사용자 비밀번호로 원격 저장소를 복제 할 때 Windows에서 .netrc 파일을 사용할 수 있습니까?
.netrc
Windows 에서 파일 을 사용할 수 있습니까?
예 : 다음을 수행해야합니다.
- 환경 변수 정의
%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, .ssh
dir not there " 에서 언급 한 것입니다 .
git-cmd.bat
msysgit에 포함 된 것은 %HOME%
환경 변수를 설정합니다 :
@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%
爱国者는 "http 프로토콜에서는 작동하지 않는 것 같습니다"라는 의견을 믿고 있습니다.
그러나 나는 이 예제에 표시된 것처럼 (에서 netrc
사용하고 curl
HTTP 프로토콜에서 작동 한다고 대답했습니다 ( 페이지에서 ' ') :. HTTP 프로토콜과 함께 사용됩니다 : " / alternative to ".netrc
_netrc
.netrc
cURL
netrc
Windows 에서 지원 되는 일반적인 트랩 은 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 inc:\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:
Check the home path on Windows OS:
setx HOME %USERPROFILE%
(refer to VonC's answer). It will save theHOME
environment variable asC:\Users\"username"
.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>
Use a command like
coursera-dl -n --path PATH <course name>
to download the class materials. More coursera-dl options details for this page.
'Programing' 카테고리의 다른 글
.git / config 파일에서 줄을 주석 처리 할 수 있습니까? (0) | 2020.05.28 |
---|---|
sbt에서“자세한 내용은 사용 중단 된 상태로 다시 실행”하는 방법은 무엇입니까? (0) | 2020.05.28 |
Ruby on Rails로 TDD를 시작하는 방법은 무엇입니까? (0) | 2020.05.28 |
PyCharm에게 어떤 유형의 매개 변수가 필요한지 어떻게 알 수 있습니까? (0) | 2020.05.27 |
pylab과 pyplot의 차이점은 무엇입니까? (0) | 2020.05.27 |