제육's 휘발성 코딩
반응형

깃헙 SSH로 접속하기

기존의 Personal Access Token 방식의 인증은 HTTPS로 접근할 수 있었다. SSH 프로토콜을 사용하면 SSH로 접근이 가능하다.

SSH 프로토콜을 통한 인증

  • 공개키 암호화 방식 활용
  • username과 토큰을 사용할 필요가 없으며, 컴퓨터 자체에 키를 저장한다.

SSH 키 등록하기

image

  • 깃헙 계정의 Settings - SSH and GPG keys - New SSH key

SSH 키 존재 여부 확인

cd ~/.ssh
  • id_rsa.pub, id_ecdsa.pub, id_ed25519.pub 파일 중 하나 존재 여부 확인 (있다면 키 존재)
  • pub이 있으면 공개 키, 없으면 비밀 키 (공개키는 공개해도 되지만, 비밀 키는 절대 노출되면 안된다.)

ssh 키 생성

image

ssh-keygen -t ed25519 -C "(이메일 주소)"
  • 원할 시 passphrase 입력
  • 키 생성 완료 후 위의 SSH 키 존재 여부 확인 확인할 것

ssh 키 등록

image

  • ssh 공개 키(.pub) 내용을 확인 하여 복사한다.

image

  • 원하는 Title 을 생성한 후 Key 에 공개키 내용을 입력한다.

image

  • 기존 프로젝트와 origin의 연결을 끊고 SSH 방식의 클론 내용을 복사해서 연결한다. 처음 연결하는 경우 해당 클라이언트에 대한 허용이 없기 때문에 yes 를 입력해주거나 별도로 키젠에 등록해주는 방식을 사용한다.

GPG로 커밋에 사인하기

image

  • 커밋 내역을 보면 로컬이 아닌 깃헙에서 생성한 내용들은 Verified (검증) 이 된 표시가 있다는 것을 볼 수 있다.

GPG 키를 통한 검증

  • 로컬에서 푸시한 커밋과 GitHub에서 작성한 커밋 비교
  • Verified : 신뢰할 만한 출처에서 커밋되었다는 인증

GPG 툴 설치

GPG 키 생성

키 생성 가이드 링크 : https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key

New GPG key 클릭 후 등록

가이드 링크 : https://docs.github.com/en/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key

image

gpg --full-generate-key
  • RSA 선택 - 4096 입력 - 0 입력 (무기한) - is this correct 에서 y를 선택 후 깃 계정 name 과 email을 입력 후 별도의 식별하기 위한 비밀번호를 두 번 입력한다.
gpg --list-secret-keys --keyid-format=long
  • 해당 명령어를 입력했을 때 gpg 키가 생성된 것을 볼 수 있다. sec 뒤에 rsa4096/ 이후 부터 날짜 전까지 복사한다.
gpg --armor --export (복사한 내용)
  • BEGIN ~ END 까지의 모든 내용을 복사한다.

image

  • 복사한 내용을 깃헙 페이지에서 붙여넣기 한다.
git config --global user.signingkey (처음에 복사한 내용)
  • 글로벌 설정을 위해 다음과 같이 설정해준다.
Mac 의 경우 추가 설정
if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \
  else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
  • zsh 의 경우
if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \
  else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
  • bash의 경우

사인하기

git commit -S -m '(메시지)'
  • 커밋 명령어에 -S 옵션 추가
git tag -s (태그명) (커밋 해시) -m (메시지)
  • 태그 명령어에 -s 옵션 추가 (이후 push 시 git push --tags 입력)

image

  • 커밋 시 다음과 같이 이전에 생성한 비밀번호를 묻는다. 이전에 RSA 키 생성 시 식별을 위해 생성한 비밀번호를 입력한다.

image

  • push 후 다음과 같이 Verified 된 커밋 내용을 확인할 수 있다.

image

  • 태그도 마찬가지로 Verified 된 것을 확인할 수 있다.

GitHub Actions

image

  • CI / CD (지속적 통합과 배포) 즉, 자동화를 사용하기 위한 기능으로 사용한다.
  • GitLab CI/CD, BitBucket Pipelines 등 과 동종이다.

예시 살펴보기

image

  • Actions 에서 workflow 들을 보면 여러 서비스들을 제공한다. 그 중 simple 관련 자료를 살펴보면 다음과 같다. (main 브랜치에서 push 트리거가 발생했을 때 실행하며 여러 job들을 설정)

OctoTree

image

GitHub CLI

GitHub 전용 CLI 툴을 사용할 수 있다.

brew install gh
  • gh 설치
gh auth (login/logout)
  • gh 로그인 / 로그아웃

image

gh repo list
  • 레포지토리 목록 보기
gh repo clone (사용자명)/(레포지토리명)
  • 프로젝트 클론
gh repo (create/delete)
  • 프로젝트 생성 / 삭제
gh issue lise
  • 이슈 목록 보기
gh issue (view/close) (이슈 번호)
  • 이슈 열람 / 닫기
gh issue create
  • 이슈 생성
gh pr (create/list)
  • 풀 리퀘스트 만들기 / 목록 보기
gh pr (view/commit/close/merge) (PR 번호)
  • 풀 리퀘스트 보기 / 코멘트 / 닫기 / 병합

본 포스팅은 '인프런 - 제대로 파는 Git & GitHub - by 얄코' 강의를 보고 정리한 내용입니다.

반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^