개발환경 구축

[SSH key]github계정을 여러개 사용할 때 번거롭게 git push하지 않기 위해 SSH 설정 & SSH사용해서 git clone

jeong_ga 2022. 7. 12. 22:41

👉 참고 블로그


현재 진행하는 프로젝트는 내 개인 프로젝트가 아닌, 업무용으로도 진행될 여지가 있는 프로젝트이기 때문에 새로운 깃허브 아이디를 만들어 프로젝트를 진행했다.
이렇게되면 다른 아이디로 commit 을 할 때마다 Token을 변경해야 하는 번거로움이 발생하게 되는데 이를 해결하기 위해 SSH를 이용하기로 하였음!!

SSH Key 생성하기

  1. 터미널을 실행하여 추후에 추가될 SSH 키를 확인하기 위해 기존 파일 목록을 확인한다.
    $ cd ~/.ssh $ ls -al
  2. SSH key 생성 -gitHub에서 사용하는 email과 생성될 키 이름 지정
    $ .ssh ssh-keygen -t rsa -C "lja3248@gmail.com" -f "id_rsa_lja3248"
  1. 비밀번호를 입력하라는 메세지가 나오면 엔터를 쳐 비밀번호 없이 사용 가능하도록 설정한다. -> 완료됐다는 메세지를 확인한다.
    Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in id_rsa_lja3248 Your public key has been saved in id_rsa_lja3248.pub
  2. 다른 아이디도 동일하게 작업한다.
  3. SSH key가 생성된 것을 확인한다.
  4. ➜ .ssh ls -al ~/.ssh total 40 drwx------ 7 jeonga staff 224 7 12 11:19 . drwxr-x---+ 41 jeonga staff 1312 7 12 11:19 .. \-rw------- 1 jeonga staff 2602 7 12 11:17 id\_rsa\_lja3248 \-rw-r--r-- 1 jeonga staff 571 7 12 11:17 id\_rsa\_lja3248.pub \-rw------- 1 jeonga staff 2610 7 12 11:19 id\_rsa\_wazzang96jeonga \-rw-r--r-- 1 jeonga staff 579 7 12 11:19 id\_rsa\_wazzang96jeonga.pub \-rw-r--r-- 1 jeonga staff 92 5 18 23:03 known\_hosts
  1. ssh-agent를 실행
    ➜ .ssh eval "$(ssh-agent -s)"  
    Agent pid \_\_\_\_\_
  1. ssh-agent에 새로 생성한 SSH-key를 추가
  2. Agent pid 56628 ➜ .ssh ssh-add ~/.ssh/id\_rsa\_lja3248 Identity added: /Users/jeonga/.ssh/id\_rsa\_lja3248 ([lja3248@gmail.com](mailto:lja3248@gmail.com)) ➜ .ssh ssh-add ~/.ssh/id\_rsa\_wazzang96jeonga Identity added: /Users/jeonga/.ssh/id\_rsa\_wazzang96jeonga ([wazzang96jeonga@gmail.com](mailto:wazzang96jeonga@gmail.com))
  3. 정상적으로 입력되었는지 확인한다.
    ➜ .ssh ssh-add -l

github에서 SSH 공개 키 추가

code를 사용하기 전, git bash를 설치해야 함
brew install git

  1. 공개키를 복사하기 위해 공개키 파일을 연다.
    폴더로 열고 .pub 파일을 확인하여 복사한다.
    code ~/.ssh
  1. gitHub 홈페이지로 감. 사용할 모든 계정을 반복한다.
    1. settings
    2. SSH and GPS keys
    3. New SSH key
    4. title에는 공개키를 설명할 문구, key에는 복사한 공개키를 붙여놓는다.
    5. Add SSH key 클릭

SSH config파일 설정 연결 확인

  1. ~/.ssh 하위에 config 파일을 생성한다.
  2. HOST 지시자로 섹션을 나눠 작성함
  3. //첫번째 계정 Host github.com-lja3248 // ssh연결에 사용할 대표이름 HostName github.com //github 도메인 User 199jeonga //사용자 아이디 IdentityFile ~/.ssh/id\_rsa\_lja4358 //개인키 경로 //두번째 계정 Host github.com-wazzang96jeonga HostName github.com User jeonga96 IdentityFile ~/.ssh/id\_rsa\_wazzang96jeonga
  4. SSH연결 확인
  5. ssh -T [git@github.mac-lja3248](mailto:git@github.mac-lja3248) Hi 199jeonga! You've successfully ...

위와 같이 나오면 연결이 완료된 것임.

만약‼ 이와 같은 오류가 확인된다면
👉 ssh: Could not resolve hostname github.com-lja3248: nodename nor servname provided, or not known

Hostname을 자신의 깃 계정으로 변경하지 않고 깃허브의 도메인 그대로 입력해야 함!!!!
이것 때문에 계속 오류 떴음!

SSH를 이용하여 clone 하기

git clone [git@github.com](mailto:git@github.com):jeonga96/admin.git // SSH 링크

git clone [git@github.com-lja3248](mailto:git@github.com-lja3248):jeonga96/admin.git // config에 설정한 HOST로 변경해야 함