GitLab 저장소에 코드를 올릴 때, 보안상의 이유로 URL에 토큰을 직접 포함하는 방법을 피하고자 하는 경우가 많습니다. 특히 퍼블릭 머신이나 공유 환경에서 작업할 때, URL에 민감한 정보가 노출되지 않도록 주의해야 합니다. 이번 글에서는 Personal Access Token(PAT)을 보다 안전하고 깔끔하게 입력(prompt) 방식으로 사용하는 방법을 소개합니다.

1. 원격 저장소 URL 설정

원격 저장소 URL은 일반 HTTPS 형식으로 설정합니다. 토큰이 포함되지 않은 URL을 사용해야 Git이 자격 증명을 물어보는 프롬프트를 띄우게 됩니다.

1
2
# 기존에 origin이 설정되어 있다면 갱신합니다.
git remote set-url origin https://gitlab.com/yourusername/yourproject.git

2. git push 실행 및 자격 증명 입력

이제 git push 명령을 실행하면 Git이 사용자 이름과 비밀번호를 물어봅니다. 이때 비밀번호 입력란에 PAT(Token)를 입력합니다.

1
2
3
$ git push -u origin master
Username for 'https://gitlab.com': yourusername
Password for 'https://yourusername@gitlab.com': glpat-XXXXXXXXXXXXXXXX  # 여기에 토큰 입력
  • Username: GitLab 사용자 이름 또는 이메일
  • Password: Personal Access Token (glpat-…)

3. Credential 캐싱 방지 (선택)

토큰이 시스템에 저장되어 재사용되지 않도록 하려면, Git의 credential helper를 비활성화합니다.

1
2
3
4
5
# 전역 설정으로 비활성화
git config --global credential.helper ""

# 또는 현재 프로젝트 디렉토리 내에서만 비활성화
git config credential.helper ""

위 설정을 적용하면 push, pull 등 모든 인증 과정에서 매번 사용자 입력을 요구하게 됩니다.

4. 입력(prompt) 방식 예시

1
2
3
$ git push -u origin master
Username for 'https://gitlab.com': yourusername
Password for 'https://yourusername@gitlab.com': glpat-abcdef1234567890

터미널에 토큰이 평문으로 노출되지만, URL에 포함되지 않으므로 브라우저 히스토리나 로그에 남지 않습니다.

마무리

이처럼 GitLab PAT을 URL에 직접 노출하지 않고 입력(prompt) 방식을 사용하면, 더욱 안전하게 인증 정보를 관리할 수 있습니다. 필요에 따라 credential helper를 비활성화하여 매 실행마다 인증을 입력하도록 설정하면 보안 수준을 한층 높일 수 있습니다.