본문으로 건너뛰기
Kabkee.github.io
뒤로 가기

Git이 매번 아이디·비밀번호를 물을 때: credential.helper 설정 (store, cache, Git Credential Manager)

2022년 7월 작성, 2026년 10월 보완. store 방식이 비밀번호를 평문으로 저장한다는 경고와, 지금 권장되는 Git Credential Manager를 추가했다. GitHub는 2021년 8월부터 비밀번호 대신 토큰으로 인증해야 한다(GitHub 토큰 발급 방법). SSH로 접속하면 이 설정이 필요 없다(GitHub SSH 키 등록).

목차

목차 펼치기

문제 상황

Git으로 원격 저장소에 push·pull할 때마다 아이디와 비밀번호(또는 토큰)를 계속 물어봤다.

해결 방법

Git의 credential.helper 설정으로 인증 정보를 저장하거나 잠시 기억하게 할 수 있다. 세 가지 방법이 있다.

1. Git Credential Manager (권장)

인증 정보를 OS의 안전한 저장소(Windows 자격 증명 관리자, macOS 키체인 등)에 암호화해서 저장한다. Windows용 Git에는 기본으로 포함되어 있다.

git config --global credential.helper manager

macOS는 Homebrew로 설치한 뒤 설정할 수 있다. 자세한 설치 방법은 Git Credential Manager 문서를 참고한다. macOS 키체인만 쓰려면 git config --global credential.helper osxkeychain 도 된다.

2. store: 파일에 저장

한 번 입력하면 다시 묻지 않는다.

git config --global credential.helper store

주의: store 는 인증 정보를 암호화하지 않고 평문으로 ~/.git-credentials 파일에 저장한다. 이 파일이 유출되면 비밀번호나 토큰이 그대로 노출된다. 개인 컴퓨터가 아니거나 보안이 중요하다면 1번이나 3번을 쓴다.

3. cache: 메모리에 잠시 기억

인증 정보를 메모리에 일정 시간 동안만 기억한다. 기본은 900초(15분)이다.

git config --global credential.helper cache

시간을 바꾸려면 --timeout 을 초 단위로 준다. 아래는 10분이다.

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

cache 는 유닉스 소켓을 쓰기 때문에 Windows용 Git에서는 지원되지 않는다.

설정 확인과 해제

# 지금 설정된 helper 확인
git config --global --get credential.helper

# 설정 해제
git config --global --unset credential.helper

store 로 저장한 정보를 지우려면 ~/.git-credentials 파일에서 해당 줄을 지운다.

정리

참고자료


이 글 공유하기:

이전 글
GitHub 'Authentication failed … use a personal access token instead' 해결: 토큰 발급과 사용법
다음 글
Node.js에서 PHP 세션 파싱하기: MySQL에 저장된 세션을 JavaScript 객체로