bitbucket_logo
프로젝트의 코드를 만나기 위해서 key를 추가했던 과정을 풀어보고자 합니다. 항상 Github로만 작업하던 저에게 private 한 bitbucket은 무척 생소했습니다.

클론부터 해볼...어? 😟

사내 bitbucket에 초대를 받았습니다. 이후 리파지토리를 clone 하려고 명령어를 입력했을 때였습니다.

git@bitbucket.org: Permission denied(publickey).

터미널에서는 에러 메시지가 나왔습니다. 다행히도 먼저 일하는 분이 계셨고, 저는 바로 물어보았습니다. 그분은 bitbucket을 위한 계정의 key가 필요하다며, key를 만들고 bitbucket에 지정한 이후 다시 해보라고 하였습니다.

여기를 참조하시면 아주 간단하게 수행할 수 있습니다. 하지만 저는 한 번 더 정리해야 할 필요성을 느꼈습니다.

키 생성 및 설정 🔑

[키 생성]

  1. ssh-gen
    위의 명령어를 터미널에 입력하여 bitbucket에 사용할 key를 만들어야 합니다. 명령어를 입력하면
    ~/.ssh/
    라는 기본 디렉토리에 키와 자물쇠가 생성됩니다.
  2. 키를 생성할 때, passphrase를 등록하는데, 이는 꼭 기억해야 하는 중요한 값입니다.
  3. ls ~/.ssh
    위의 명령어를 통해서 키가 잘 생성이 되었는지 볼 수 있습니다.

[키의 passphrase 자동 입력 등록]

키를 사용할 때마다 passphrase를 계속해서 입력해야 하는 불편함이 있습니다. 이는 ssh-agent를 등록하면 간단하게 해결할 수 있습니다.

  1. eval 'ssh-agent'
    위의 명령어를 사용하여 ssh-agent를 실행시켜 줍니다.
  2. ssh-add -K ~/.ssh/<아까_만든_키_이름>
    등록해줍니다.
  3. 그리고 restart 할 때마다 컴퓨터가 패스워드를 기록하도록
    ~/.ssh/config
    파일을 만들고 아래의 내용을 적은 후 저장해줍시다.
    Host *
     UseKeychain yes

[bitbucket 키 등록]

이제 로컬에서 키를 생성했으니, bitbucket에 등록 후 사용하는 일만 남았습니다.

  1. bitbucket의 세팅으로 들어가 SHH Keys 탭으로 들어갑니다. 아래 이미지를 보시고 찾아가시면 됩니다.
    왼쪽 및 계정 클릭, bitbucket settings클릭

    스크린샷 2019-07-06 오후 11.17.59.png
    SSH Keys클릭
    스크린샷 2019-07-06 오후 10.26.19.png

  2. 중앙 부근의 파란색 [ADD KEY] 버튼을 클릭합니다.(이건 사진이 없어도 잘 보이실 겁니다.)

  3. 모달창이 뜨면

    • label탭에는 원하는 keylabel을
    • key탭에는
      pbcopy < ~/.ssh/<아까_만든_키_이름>.pub
      위의 명령어를 입력하여 복사된 내용을 붙여넣기 합니다.
      여기서 key.pub은 자물쇠, key는 열쇠의 역할을 합니다.
  4. [save] 버튼을 눌러줍니다.

  5. 터미널로 돌아와서 구성 및 사용자 이름을 확인하기 위해
    ssh -T git@bitbucket.org
    위의 명령어를 입력해 줍니다.

Enter passphrase for key '/Users/{사용자 이름}/.ssh/{키 이름}':
logged in as {사용자 이름}

You can use git or hg to connect to Bitbucket. Shell access is disabled

위와 같은 내용이 터미널에 나온다면 키 등록이 성공적으로 이루어진 것입니다. 이후로는 마음껏 clone과 push가 가능합니다.

마무리

처음에 빠르게 문제를 해결하기 위해 조급하게 이런저런 정보를 찾아보고 자세히 읽지도 않고 넘어가며 시간을 많이 소모했던 기억이 남아 있습니다. 이 글을 보시는 분들은 저처럼 조급해하지 않고 천천히 하지만 정확하게 막힘없이 문제를 해결하시길 바랍니다.
완전히 틀린 지식을 전달하는 부분이나 미처 발견하지 못한 오타가 있을 수 있습니다. 지적해주시면, 바로 수정하도록 하겠습니다. 언제나 피드백은 환영합니다. 읽어주셔서 감사합니다. 😃