SourceTree 원격 저장소 인증 실패 해결 방법|계정 초기화부터 API Token 설정까지
SourceTree를 이용해 Git 원격 저장소를 Clone하거나 Pull·Push하려다 보면 갑자기 인증 오류가 발생할 때가 있습니다.
특히 Clone 화면에서 다음과 같이 다소 엉뚱한 메시지가 표시되기도 합니다.
원격 저장소가 아닙니다.
저장소를 찾을 수 없습니다.
인증에 실패했습니다.
실제 저장소 주소가 정상인데도 이런 메시지가 나타난다면 저장소 자체의 문제가 아니라, SourceTree에 저장된 계정 정보나 인증 토큰이 만료되었을 가능성이 높습니다.
이 글에서는 제가 실제로 해결했던 기존 방법을 중심으로, 현재 SourceTree에서 함께 확인해야 할 인증 설정까지 정리해 보겠습니다.

1. 문제 상황
SourceTree에서 원격 저장소 주소를 입력하고 Clone을 시도했지만 다음과 같은 문제가 발생했습니다.
- 저장소 URL은 정상임
- 웹 브라우저에서는 저장소에 접근 가능함
- SourceTree에서는 원격 저장소가 아니라는 메시지가 표시됨
- 계정을 다시 추가해도 같은 오류가 반복됨
- SourceTree를 재실행해도 로그인 창이 나타나지 않음
처음에는 저장소 URL이나 SourceTree 번역상의 문제라고 생각했습니다.
하지만 자세한 오류 내용을 확인해 보니 원인은 저장소 주소가 아니라 원격 저장소 인증 실패였습니다.
SourceTree의 인증 메뉴에서 계정을 삭제하고 다시 등록하거나 여러 설정을 변경해 보았지만 문제는 해결되지 않았습니다.
결국 SourceTree가 로컬에 저장해 둔 이전 인증 정보를 계속 사용하고 있었습니다.
2. 가장 먼저 확인할 사항
인증 정보를 삭제하기 전에 원격 저장소 URL이 올바른지 확인합니다.
저장소가 이미 로컬에 Clone되어 있다면 터미널에서 다음 명령어를 실행합니다.
git remote -v
출력 예시는 다음과 같습니다.
origin https://github.com/example/project.git (fetch)
origin https://github.com/example/project.git (push)
원격 저장소 주소가 잘못되어 있다면 다음 명령어로 수정할 수 있습니다.
git remote set-url origin https://github.com/example/project.git
원격 저장소에 실제로 접근할 수 있는지는 다음 명령어로 확인합니다.
git ls-remote origin
이 명령에서도 인증 오류가 발생한다면 SourceTree 화면의 문제가 아니라 Git 인증 정보 또는 접근 권한 문제일 가능성이 높습니다.
3. SourceTree에 등록된 계정 다시 설정하기
먼저 SourceTree 내부에 저장된 계정을 확인합니다.
Windows용 SourceTree에서는 다음 메뉴로 이동합니다.
도구(Tools)
→ 옵션(Options)
→ 인증(Authentication)
등록된 계정을 선택한 뒤 다음 순서로 진행합니다.
- 문제가 발생한 계정을 삭제합니다.
- SourceTree를 완전히 종료합니다.
- SourceTree를 다시 실행합니다.
- 인증 메뉴에서 계정을 다시 추가합니다.
- 저장소 Clone 또는 Pull·Push를 다시 시도합니다.
Bitbucket Cloud를 사용한다면 일반 계정 비밀번호보다 API Token 방식을 사용해야 합니다. 최신 SourceTree에서는 인증 유형으로 API Token을 선택하고, Bitbucket 계정 이메일과 발급받은 토큰을 입력할 수 있습니다. Atlassian은 Windows용 SourceTree 3.4.24 이상에서 API Token을 지원한다고 안내하고 있습니다.
이 방법으로 해결되지 않는다면 SourceTree 외부에 남아 있는 인증 캐시까지 초기화해야 합니다.
4. SourceTree 인증 캐시 파일 삭제하기
제가 당시 문제를 해결했던 핵심 방법입니다.
먼저 SourceTree를 완전히 종료합니다. 작업 관리자에 SourceTree 관련 프로세스가 남아 있다면 함께 종료하는 것이 좋습니다.
Windows 탐색기 주소창에 다음 경로를 입력합니다.
%LOCALAPPDATA%\Atlassian\SourceTree
실제 경로는 일반적으로 다음과 같습니다.
C:\Users\사용자계정\AppData\Local\Atlassian\SourceTree
해당 폴더에서 인증 정보를 저장하는 다음 파일을 찾습니다.
password
userhosts
SourceTree 버전에 따라 파일 이름이 다르게 보이거나 일부 파일만 존재할 수 있습니다.
파일이 확인되면 바로 삭제하기보다는 안전하게 다음과 같이 이름을 변경해 백업하는 것을 권장합니다.
password.backup
userhosts.backup
또는 별도의 백업 폴더로 이동합니다.
그다음 SourceTree를 다시 실행하고 원격 저장소 Clone을 시도합니다.
기존 인증 캐시가 초기화되면서 로그인 또는 인증 정보 입력 창이 다시 나타납니다. 이때 정상적인 계정과 인증 토큰을 입력하면 Clone·Pull·Push 작업을 다시 진행할 수 있습니다.
이 방법은 SourceTree에 저장된 계정 정보를 초기화하는 작업입니다. 로컬 Git 저장소의 소스 코드나 Commit 이력이 삭제되는 것은 아닙니다.
5. Windows 자격 증명 관리자 확인하기
SourceTree의 캐시 파일을 초기화했는데도 이전 계정으로 계속 인증된다면 Windows 자격 증명 관리자에 Git 인증 정보가 남아 있을 수 있습니다.
다음 순서로 이동합니다.
Windows 검색
→ 자격 증명 관리자
→ Windows 자격 증명
목록에서 다음과 관련된 항목을 찾습니다.
git:https://github.com
git:https://bitbucket.org
git:https://gitlab.com
문제가 발생하는 원격 저장소와 관련된 항목만 제거한 후 SourceTree를 다시 실행합니다.
다음 Git 작업을 수행할 때 인증 창이 다시 나타나면 새로운 계정이나 토큰으로 로그인합니다.
Git Credential Manager를 사용하는 환경에서는 인증 정보가 운영체제의 보안 저장소에 보관되며, HTTPS 인증 시 브라우저 로그인이나 2단계 인증을 처리할 수 있습니다.
6. GitHub는 계정 비밀번호 대신 토큰 사용하기
GitHub 저장소를 HTTPS 방식으로 연결하는 경우 GitHub 계정 비밀번호를 입력해서는 인증되지 않습니다.
GitHub는 Git 명령을 위한 비밀번호 인증을 종료했기 때문에 다음 방식 중 하나를 사용해야 합니다.
- 브라우저 기반 OAuth 로그인
- Personal Access Token
- Git Credential Manager
- SSH Key
SourceTree에서 사용자 이름과 비밀번호 입력창이 표시되는 경우 비밀번호 입력란에는 계정 비밀번호가 아니라 Personal Access Token을 입력해야 합니다. GitHub도 HTTPS Git 인증에는 Personal Access Token 또는 Git Credential Manager를 사용하도록 안내합니다.
토큰을 새로 발급했다면 필요한 저장소에 접근할 수 있는 권한이 포함되어 있는지도 확인해야 합니다.
조직에서 SAML SSO를 사용하는 경우에는 토큰이나 SSH Key를 발급한 뒤 해당 조직에 대해 별도로 승인해야 할 수도 있습니다.
7. Bitbucket은 API Token으로 다시 연결하기
Bitbucket Cloud를 사용하는 경우에는 다음과 같이 설정합니다.
도구
→ 옵션
→ 인증
→ 계정 추가 또는 편집
설정값은 다음과 같습니다.
Host: Bitbucket
Auth Type: API Token
User Email: Atlassian 계정 이메일
API Token: 발급받은 API Token
Clone만 필요하다면 토큰에 저장소 읽기 권한이 필요합니다.
read:repository:bitbucket
Push까지 수행해야 한다면 쓰기 권한도 필요합니다.
write:repository:bitbucket
Atlassian 공식 문서에서도 Clone에는 읽기 권한이, Clone과 Push에는 읽기·쓰기 권한이 모두 필요하다고 설명합니다.
토큰에는 만료일이 설정될 수 있으므로 이전에는 정상적으로 사용하던 저장소에서 갑자기 인증 오류가 발생했다면 토큰 만료 여부도 확인해야 합니다.
8. HTTPS 대신 SSH를 사용하는 방법
인증 문제가 자주 반복된다면 원격 저장소 연결 방식을 HTTPS에서 SSH로 변경하는 것도 좋은 방법입니다.
현재 연결 방식을 확인합니다.
git remote -v
HTTPS 방식은 다음과 같습니다.
https://github.com/example/project.git
SSH 방식은 다음과 같습니다.
git@github.com:example/project.git
원격 저장소 주소는 다음 명령어로 변경할 수 있습니다.
git remote set-url origin git@github.com:example/project.git
다만 SSH 방식을 사용하려면 먼저 SSH Key를 생성하고, 공개키를 GitHub·Bitbucket 또는 사내 Git 서버에 등록해야 합니다.
사내 방화벽에서 SSH 기본 포트인 22번을 차단하는 환경이라면 HTTPS 방식이 더 적합할 수 있습니다.
9. 인증 오류가 계속될 때 확인할 항목
여기까지 진행해도 문제가 해결되지 않는다면 다음 항목을 순서대로 확인합니다.
저장소 URL
git remote -v
저장소가 삭제되거나 Workspace·Organization 이름이 변경되지 않았는지 확인합니다.
저장소 접근 권한
브라우저에서 로그인한 뒤 해당 비공개 저장소를 실제로 열 수 있는지 확인합니다.
토큰 권한과 만료일
토큰에 Repository Read 또는 Write 권한이 포함되어 있는지 확인합니다.
여러 Git 계정 사용 여부
회사 계정과 개인 계정을 함께 사용하는 경우 잘못된 계정의 인증 정보가 선택될 수 있습니다.
프록시 설정
다음 명령어로 Git 프록시 설정을 확인합니다.
git config --global --get http.proxy
git config --global --get https.proxy
불필요한 프록시가 설정되어 있다면 삭제합니다.
git config --global --unset http.proxy
git config --global --unset https.proxy
사내 인증서 문제
사내 SSL Inspection이나 자체 Root CA를 사용하는 환경에서는 Git이 서버 인증서를 신뢰하지 못해 연결에 실패할 수 있습니다.
이 경우에는 인증 검증을 무조건 끄기보다 회사에서 사용하는 Root CA를 Git의 신뢰 저장소에 등록하는 방식으로 해결해야 합니다.
다음 설정은 보안상 권장하지 않습니다.
git config --global http.sslVerify false
SSL 검증을 비활성화하면 중간자 공격을 탐지하지 못할 수 있으므로 임시 진단 외에는 사용하지 않는 것이 좋습니다.
10. 해결 순서 정리
SourceTree 원격 저장소 인증 오류가 발생했을 때는 다음 순서로 점검하면 됩니다.
1. 원격 저장소 URL 확인
2. 브라우저에서 저장소 접근 권한 확인
3. SourceTree 인증 메뉴에서 계정 재등록
4. GitHub PAT 또는 Bitbucket API Token 확인
5. SourceTree 인증 캐시 파일 초기화
6. Windows 자격 증명 관리자에서 기존 Git 인증 정보 제거
7. 프록시·사내 인증서·방화벽 설정 확인
8. 필요하면 HTTPS 대신 SSH 방식 사용
마무리
SourceTree에서 표시되는 “원격 저장소가 아닙니다”라는 메시지만 보면 저장소 주소가 잘못되었다고 생각하기 쉽습니다.
하지만 실제로는 SourceTree 또는 Windows에 저장된 과거 계정 정보 때문에 발생하는 인증 실패 문제일 수 있습니다.
저의 경우에는 다음 경로에 저장된 인증 관련 파일을 초기화한 뒤 SourceTree를 다시 실행하고 정상 계정으로 로그인하여 문제를 해결했습니다.
C:\Users\사용자계정\AppData\Local\Atlassian\SourceTree
다만 최근 Git 서비스는 계정 비밀번호보다 OAuth·API Token·Personal Access Token·SSH Key를 중심으로 인증합니다.
따라서 단순히 캐시만 삭제하는 데서 끝내지 말고, 사용 중인 Git 서비스의 인증 방식과 토큰 권한·만료일을 함께 확인하는 것이 중요합니다.
'Tools > git' 카테고리의 다른 글
| [Git/DevOps] 여러 저장소의 소스를 안전하게 배포하는 서버 구축 방법 & 필수 Git 명령어 Cheat Sheet (0) | 2024.05.01 |
|---|---|
| [Hoon] Git - Branch / Merge / Tag (0) | 2017.08.02 |
| [Hoon] Git guide- https://rogerdudler.github.io/git-guide/index.ko.html (0) | 2017.08.02 |
| [Hoon] Git 설치 - git-scm.com (1) | 2017.08.02 |
| [Hoon] Git 기초 (0) | 2017.07.25 |
댓글