Section 1.7: Git 과 SSH 연동하기

윈도우에서는 Git Bash 를, Mac 이나 Linux 에서는 터미널을 열어 아래에 설명할 작업들을 수행한다.

SSH key 를 새로이 생성하기 전에, 기존에 이미 생성되어 있는 SSH key 가 있는지를 다음과 같은 방법으로 확인할 수 있다.

~/.ssh 디렉토리의 내용물들을 열람하기:

$ ls -al ~/.ssh # ~/.ssh 디렉토리 내의 모든 파일이 표시된다

위 명령어의 결과 목록에서 기존에 생성해놓은 public SSH key 가 있는지를 확인한다. 기본적으로 public key 파일들은 다음과 같은 이름들 중 하나를 가지게 된다:

  • id_dsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub
  • id_rsa.pub

위 과정을 통해 Bitbucket 이나 GitHub (혹은 유사한 다른 서비스 등) 에서 본인 계정에 사용해도 될 public / private key 조합이 이미 생성되어 있음을 확인했다면, 해당 id_*.pub 파일 내용을 복사해서 사용하면 된다.

만약 기존에 생성해놓은 파일이 없다면, 아래와 같은 명령어를 입력해 새로운 public / private key 조합을 생성할 수 있다:

$ ssh-keygen

위 명령어 입력 후, Enter 혹은 Return 키를 한번 더 눌러 기본 파일 저장 위치를 사용하도록 한다. 암호(passphrase) 를 사용할지 물어보면 사용하길 원하는 암호를 입력하여도 되고, 그냥 암호 없이 빈 상태로 두고 계속 진행하여도 된다.

사용자의 SSH key 는 ssh-agent 에 정상적으로 추가가 되어야 한다. ssh-agent 가 현재 동작중이 아니라면 백그라운드에서 돌도록 실행한다:

$ eval "$(ssh-agent -s)"

이제 SSH key 를 ssh-agent 에 추가한다. 아래 명령어에서 id_rsa 부분에 사용자의 실제 private key 파일 이름을 정확히 기술해 주어야 한다는 점에 유의하자:

$ ssh-add ~/.ssh/id_rsa

기존 저장소의 upstream 원격 연결 방식을 HTTPS 에서 SSH 로 변경하고 싶다면 아래의 명령어를 실행한다:

$ git remote set-url origin ssh://git@bitbucket.server.com:7999/projects/your_project.git

새로운 저장소로부터 SSH 를 통해 clone 을 해오고 싶다면 아래의 명령어를 사용한다:

$ git clone ssh://git@bitbucket.server.com:7999/projects/your_project.git
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts