데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      GitHub SSH 접속 설정하기

      KIDO 22.01.05
      47,614 4 1

      GitHub SSH 접속 설정하기

      • GitHub에서는 다음 3가지 방법으로 Git접근을 수행할 수 있도록 하고 있다.
        • GitHub는 https 로 접속
        • ssh 로 인증서를 발급하여 접근하는 방법
        • git cli 를 이용하여 접근하는 방법
      • 이 중 ssh 로 접근하는 방법에 대해서 알아보자.
      • ssh 접근을 설정해두면, username과 password를 입력하지 않고 git과 인터렉션 할 수 있다.

       

      SSH key 생성 여부 확인하기

      ls -al ~/.ssh
      
      • 위 명령으로 이미 생성된 ssh 키가 존재하는지 확인할 수 있다.
      • 디렉토리에 아무것도 존재하지 않거나 혹은 새로운 ssh 키를 생성하고자 한다면 다음 과정을 따라가자.

       

      SSH key 생성하기

      ssh-keygen -t ed25519 -C "your_email@example.com"
      
      • 위 명령과 같이 github에 등록된 자신의 메일 계정을 추가한 ssh key 를 생성한다.
      • ssh key 는 ssh-keygen 을 이용한다.
      • -t 옵션을 통해서 rsa, dsa, ECDSA, EdDSA 등 옵션이 올수 있다. 여기서는 ed25519 키 암호화 방식을 이용한다.

      • ed25519 는 최신의 암호화 방식이므로 동작하지 않는다면 rsa를 다음과 같이 이용할 수 있다.
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      

      실행해보기

      ssh-keygen -t ed25519 -C "schooldevops@gmail.com"
      Generating public/private ed25519 key pair.
      Enter file in which to save the key (/Users/kido/.ssh/id_ed25519):  <-- 그냥엔터
      Enter passphrase (empty for no passphrase):   <-- 그냥엔터
      Enter same passphrase again:   <-- 그냥엔터
      Your identification has been saved in /Users/kido/.ssh/id_ed25519.
      Your public key has been saved in /Users/kido/.ssh/id_ed25519.pub.
      The key fingerprint is:
      SHA256:MMzpFz1s1Xdv/6ICpuSm05ueYpJ34 schooldevops@gmail.com
      The key's randomart image is:
      +--[ED25519 256]--+
      |         ..o     |
      |     o .o+. o    |
      |      *o. =.     |
      |.  o o+o.o .     |
      ...
      |ooooo..   .o.    |
      +----[SHA256]-----+
      
      • 위 결과처럼 ~/.ssh/id_ed25519 와 ~/.ssh/id_ed25519.pub 파일이 생성 되었다.

       

      ssh-agent 에 키 등록하기

      • ssh-agent에 등록하기 위해 키를 생성했었다.
      • ssh-add 명령으로 키를 에이전트에 등록할 수 있다.

      ssh-agent 활성화 하기

      eval "$(ssh-agent -s)"
      
      Agent pid 62393
      
      • 위와 같이 ssa-agent 가 pid 62393으로 시작되었음을 알 수 있다.

      config 파일 설정하기

      • ~/.ssh/config 파일에 다음 내용을 추가한다.
      Host *
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      ssh-agent 에 ssh 개인키 추가

      ssh-add -K ~/.ssh/id_ed25519
      
      Identity added: /Users/kido/.ssh/id_ed25519 (schooldevops@gmail.com)
      
      • 위와 같이 정상적으로 등록 되었음을 확인 할 수 있다.

       

      Repository 에 ssh key 추가하기

      ssh_key 복사

      pbcopy < ~/.ssh/id_ed25519.pub
      
      • id_ed25519.pub 내용을 복사한다.

      github 에 ssh 키 등록하기

      프로젝트 생성하기

      • test_project 로 아래와 같이 리포지토리를 생성하자.

      github01

      개인정보 > Setting 들어가기

      github02

      SSH and GCP 키 메뉴 클릭

      github03

      • New SSH Key 버튼을 클릭하여 다음과 같이 복사한 키를 등록하자.

      키 등록하기

      github04

      키 등록 결과

      github05

      • 키를 등록하면 암호 입력창이 나오는데 그때 자신의 git 암호를 입력하자.

       

      키 등록 테스트하기

      ssh -T git@github.com
      
      > The authenticity of host 'github.com (IP ADDRESS)' can't be established.
      > RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
      > Are you sure you want to continue connecting (yes/no)? yes <-- 입력하고 엔터 
      
      Hi schooldevops! You've successfully authenticated, but GitHub does not provide shell access.
      
      • 보는바와 같이 정상적으로 github에 ssh 키로 접속 테스트가 되었음을 알 수 있다.

       

      ssh 로 푸시하기

      github06

      • HTTPS / SSH 중 “SSH” 버튼을 클릭하면 사용방법이 나온다.
      • 위와 같은 커맨드로 따라하면 ssh 를 통해서 이용이 가능하다.

       

      WRAP UP

      • SSH 를 이용하면, username/password를 이용하지 않아도 되기 때문에 민감한 비번을 노출하는 행위를 줄일 수 있다.
      • 또한 CI/CD 서버에서 미리 등록해두면, 편리하게 GIT에 접근할 수 있어 파이프라인 구성시 한번의 설정으로 쉽게 작업이 가능하다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      KIDO 님의 최신 블로그

      더보기
      동영상 기고하기