본문 바로가기
개발도구

Git ] push 또는 pull 할 때 Username과 Password 묻는 경우

by eteo 2024. 10. 10.

 

 

 

1. 인증 방법

 

Git에서 HTTPS 프로토콜을 사용해 Private Repository에 접근하려고 하는 경우 Username과 Password를 요구한다. 그런데 2021년 부터 패스워드 인증방식은 지원하지 않기 때문에 깃허브의 경우 토큰을 발급받아서 입력해주면 된다.

 

GitHub > 우측 상단 프로필 > Settings > Developer Settings > Tokens (classic) > 토큰의 유효기간을 설정하고 access 허용 범위를 체크로 선택한 후 토큰을 생성한다.

 

 

 

2. 인증 정보 저장 방법

이렇게 해도 매번 push/pull 할 때마다 Username과 Password를 묻기 때문에 여간 귀찮은게 아니다. 이를 해결하기위해 git에서는 인증정보를 저장해두는 credential.helper 시스템을 지원한다.

 

방법 1.

cache 옵션을 사용하면 인증정보를 파일 시스템이 아니라 메모리(RAM)에 일정시간 동안 저장해둔다. 원래 cache 유효시간은 15분이지만 --timeout 옵션을 추가하여 1시간까지 늘릴 수 있다.

git config --global credential.helper 'cache --timeout=3600'

 

 

 

방법 2.

아래 명령어를 사용하면 ~/.git-credentials 경로에 인증정보가 영구 저장되며, 설정 이후 한번만 Username과 Password를 입력하면 그 뒤로 묻지 않는다. 다만 보안에 취약할 수 있으니 개인 PC가 아닌 곳에선 사용을 주의해야한다.

$ git config --global credential.helper store