웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > git

Git 아이디 패스워드 입력 안하는 방법

Last Modified : 2020-10-14 / Created : 2017-05-19
31,696
View Count

git 업데이트, 다운로드 등을 수행 할 때마다 입력해야하는 패스워드를 입력하지 않는 방법이 없을까요?

보안상의 이유로 매번 패스워드, 아이디를 입력하는 것이 필요할 것입니다. 하지만 보안에 큰 문제가 없고(예를들어 개발, 운영 서버가 분리되어 있음) 매번 패스워드를 입력하는 것이 매우 불편하다면 이를 해결할 수 있는 방법이 있습니다. 바로 git config에 사용자 정보를 저장하여 사용하는 방법입니다. 그럼 어떻게 가능한지 아래에서 알아봅니다.


! git config가 자주 사용되는 부분

보통 사용자 이름과 이메일을 등록할 경우 git config를 가장 많이 사용됩니다. 아래는 사용자 이름, 이메일을 등록하는 방법입니다. 이처럼 등록해두면 commit 수행시 등록된 사용자의 정보가 함께 반영됩니다.
$ git config --global user.name "이름"
$ git config --global user.email 이메일@webisfree.com

위 코드는 각각 이름, 이메일 정보를 git config에 등록하는 방법입니다. 이처럼 이름, 이메일 설정을 완료하였으면 아래에서 다음 단계로 이동합니다.



# Cache를 사용하여 매번 git 아이디, 패스워드 입력 안하는 방법

아래는 매번 입력해야 하는 인증을 캐시에 저장하여 일정시간동안 입력하지 않는 방법입니다.
$ git config credential.helper store

이제 새롭게 git 명령어를 입력해봅니다. 아직 저장된  credential 정보가 없으므로 아래처럼 패스워드 및 아이디 입력창이 나타나는데 입력하도록 합니다.
Username for 'myRepo':
Password for 'myRepo':

계정을 입력한 후에는 정보가 서버에 저장되어 입력하지 않아도 됩니다. 이때 만료 시간을 입력하기 위해서 아래의 커맨드를 추가로 입력합니다.
$ git config --global credential.helper 'cache --timeout 7200'

timeout 뒤의 숫자는 초(second)입니다. 여기서는 7200만큼(2시간)의 만료시간을 추가했습니다. 시간이 지나면 당연히 다시 아이디, 패스워드 입력이 필요하게 됩니다.

초 단위의 시간을 입력하므로 하루, 7일, 30일은 각각 아래의 값을 입력해야 합니다.
1 day - 86,400
7 days - 604,800
30 days - 2,592,000

더 자세한 내용은 아래의 링크에서 확인하실 수 있습니다.

@ 참고링크 > https://git-scm.com/docs/git-credential-cache




# 마치면서

위 설정이 끝나면 이제 git에 인증내용이 저장되어 설정된 시간동안 패스워드 및 아이디 입력이 없이 사용가능합니다. 위에도 언급했지만 보안상의 이유로 가급적 아이디 패스워드의 인증과정은 생략하는 것보다 입력하는 것이 좋습니다. 다만 개발서버가 따로 분리되어 있는 경우라면 개발서버 내부에 설정을 저장하여 사용하는 것이 좋을 것입니다.
아래의 글도 찾고 계시지 않나요?

    Previous

    Git bare repository란?

    Previous

    Git 프락시, proxy 환경 설정하는 방법