0) 현재 remote가 HTTPS인지 확인

 
git remote -v
  • https://bitbucket.org/... 로 보이면 이 방식 그대로 진행하면 됩니다.
  • git@bitbucket.org:... 면 이미 SSH라서 1번 필요 없음.

1) Bitbucket(Atlassian)에서 API token 생성

  • Atlassian account → SecurityAPI tokens에서 생성
  • 스코프는 최소로(예: repository write/read 등 “push 가능한 권한”)

생성 직후 토큰 문자열은 한 번만 보여주는 경우가 많아서 바로 안전한 곳에 저장해두세요.


2) macOS에 저장된 “예전 Bitbucket 비밀번호(app password)”를 지우기

이 단계가 핵심이에요.
안 지우면 Git이 계속 옛날 자격증명으로 자동 시도해서 새 토큰을 입력할 기회가 안 옵니다.

아래 (A) GUI 또는 (B) 터미널 중 하나만 해도 됩니다.


✅ (A) Keychain Access에서 삭제하는 법 (GUI, 자세히)

  1. Keychain Access(키체인 접근) 실행
  • Spotlight(⌘ + Space) → Keychain Access 검색 → 실행
  1. 왼쪽 사이드바에서
  • Keychains: login 선택
  • Category: Passwords 선택 (또는 “All Items”)
  1. 오른쪽 위 검색창에 아래를 하나씩 검색
  1. 보통 이런 이름/형태가 잡힙니다
  • Internet password: bitbucket.org
  • Application password 또는 git 관련 항목
  • 계정(Account) 컬럼에 이메일/username이 보이기도 함
  1. 삭제
  • 해당 항목 선택 → 우클릭 → Delete “…”
    또는 키보드 Delete
  • macOS 비밀번호(터치ID) 요구하면 승인

✅ 여기까지 하면 “Bitbucket에 저장된 자격증명”이 제거됩니다.


✅ (B) 터미널로 Keychain에서 삭제하는 법 (정확/빠름)

1) 먼저 Keychain에 뭐가 저장돼 있는지 확인

 
security find-internet-password -s bitbucket.org
  • 뭐가 나오면 저장된 상태
  • could not be found면 저장된 게 없는 상태

2) 삭제 (가장 일반적인 케이스)

 
security delete-internet-password -s bitbucket.org

만약 계정(이메일/username)까지 지정해서 지우고 싶으면:

 
security delete-internet-password -s bitbucket.org -a "YOUR_EMAIL_OR_USERNAME"

3) Git 자체가 기억하는 credential도 같이 “거부” 처리 (선택이지만 추천)

 
git credential reject <<EOF protocol=https host=bitbucket.org EOF

3) 다시 push 해서 새 토큰 입력

이제 push를 하면 인증 창/프롬프트가 다시 뜹니다.

 
git push

입력:

  • Username: 보통 Bitbucket/Atlassian 계정 이메일 또는 username
  • Password: API token (새로 만든 것)

✅ 추가 팁: “토큰을 URL에 박아넣기”는 비추

가끔 https://user:token@bitbucket.org/... 같은 방식이 있는데,

  • 히스토리/로그/툴에 남을 수 있어 보안상 비추천입니다.

🧪 문제 해결 체크

“삭제했는데도 계속 옛날 걸로 인증 시도”하면

  1. git remote -v가 진짜 bitbucket.org 맞는지 확인
  2. Keychain에 bitbucket 검색했을 때 항목이 남아있는지 재확인
  3. 어떤 credential helper 쓰는지 확인:
 
git config --global --get credential.helper

macOS면 보통 osxkeychain이 정상입니다.

Posted by yongary
,