반응형
Bitbucket에서 다양한 곳에 SSH key를 사용합니다.
하지만 URL은 bitbucket.org 하나 입니다. 어떻게 다양한 key를 사용해서 소스를 관리할 까요?
.ssh/config 파일을 사용하면 같은 Bitbucket 서버(bitbucket.org)라도 리포지토리별로 다른 SSH Key를 설정할 수 있습니다.
다만 기본적으로 bitbucket.org는 하나의 호스트명이기 때문에,
이를 가상 HostName(alias) 으로 구분해서 설정하는 방식이 필요합니다.
1. 예시: Repository마다 다른 SSH 키 사용하기
1. .ssh/config 설정
# 리포지토리 A 전용 키
Host bitbucket-repo-a
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa_repo_a
IdentitiesOnly yes
# 리포지토리 B 전용 키
Host bitbucket-repo-b
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa_repo_b
IdentitiesOnly yes
2. 리포지토리 주소를 설정할 때:
.git/config 또는 git clone 시 다음처럼 사용해야 합니다:
# 리포 A
git clone git@bitbucket-repo-a:<workspace>/<repo-a>.git
# 리포 B
git clone git@bitbucket-repo-b:<workspace>/<repo-b>.git
이렇게 하면 같은 Bitbucket 서버라도 서로 다른 키를 사용하게 됩니다.
bitbucket-repo-b 를 기준으로 config 파일에서 설정 정보를 찾아 사용합니다.
bitbucket-repo-b 는 HostName으로 대체 됩니다.
IdentitiesOnly 를 yes 로 설정해야 설정된 또는 저장된 다른 key를 사용하지 않고 해당 key만 사용합니다.
2. 정리
항목 설명
기본 | Bitbucket은 기본적으로 bitbucket.org라는 동일 호스트 사용 |
문제 | 기본 설정에선 하나의 SSH 키만 적용됨 |
해결 | .ssh/config에 Host alias를 만들어 분기 |
주의 | git remote URL에서 Host alias를 반드시 사용해야 함 |
반응형
'개발 도구 > Bitbucket' 카테고리의 다른 글
[ Bitbucket ] script 실행에 필요한 설치 준비하기 (0) | 2025.07.13 |
---|---|
[ Bitbucket ] git 사용시 SSH key 직접 지정해서 사용하기 (0) | 2025.07.13 |
[ Bitbucket ] workspace, project, repository의 의미와 역활 (1) | 2025.07.13 |
[ Bitbucket ] Access Key와 Access Token의 차이는? (0) | 2025.07.13 |
[ Bitbucket ] SSH keys 설정 위치 (0) | 2025.07.13 |