본문 바로가기

개발 도구/Bitbucket

[ Bitbucket ] Bitbucket Repository SSH key 설정하기

반응형

 

 

Bitbucket에서 **Repository에 SSH Key(Deploy Key)**를 설정하는 방법은 다음과 같습니다.
이 기능은 일반적으로 배포 서버나 자동화 시스템이 특정 리포지토리에만 접근하도록 제한하고 싶을 때 사용합니다.


1. 목적

  • 특정 서버 또는 스크립트가 repository에 read-only 또는 read/write로 접근하도록 허용
  • 사용자는 개인 계정 키를 사용하지 않음 (보안 강화를 위해)

2. 설정 순서

1. SSH 키 생성 (서버에서)

배포 서버나 자동화 시스템에서 SSH 키를 생성합니다:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/deploy_key_repo_xxx
  • deploy_key_repo_xxx = 개인 키
  • deploy_key_repo_xxx.pub = 공개 키 (이걸 Bitbucket에 등록)
  • ⚠️ 비밀번호 없이 생성하는 것이 일반적입니다 (자동화 목적이므로).

2. Bitbucket에서 Repository에 SSH Key 등록

  1. Bitbucket 웹사이트 접속
  2. 해당 리포지토리로 이동
  3. 왼쪽 메뉴에서 Repository settings 클릭
  4. Access keys 클릭
  5. Add key 버튼 클릭
  6. 다음 항목 입력:
    • Label: 키 설명 (예: "Deploy server A")
    • Key: 위에서 만든 deploy_key_repo_xxx.pub의 내용 복사

3. 배포 서버에서 .ssh/config 설정 (선택)

서버에서 이 키를 사용할 수 있도록 SSH 설정을 추가합니다:

Host bitbucket-deploy-repo-x
  HostName bitbucket.org
  User git
  IdentityFile ~/.ssh/deploy_key_repo_xxx
  IdentitiesOnly yes

4. Git clone 시 Host alias 사용

git clone git@bitbucket-deploy-repo-x:<workspace>/<repository>.git

이렇게 하면 다른 키와 충돌 없이 이 리포지토리에만 이 SSH 키를 사용할 수 있습니다.


3. 주의사항

항목 설명

Access(Deploy) Key는 리포지토리 단위 다른 리포지토리에서는 재사용 가능 (Bitbucket 기준, not cloud)
하나의 키는 하나의 리포에만 등록 가능 같은 키를 여러 리포에 재사용하려면 Workspace 수준 Key 필요
보안 반드시 배포용 서버 전용 키를 사용하고, 개인 키와 혼용하지 말 것

 

반응형