로그인 없이 원격 저장소 이용하기(Github)

|

로그인 없이 원격 저장소 이용하기(Github)

  • SSH(Secure SHell)를 통해 원격 저장소에 접근하는 방법에 대한 소개
  • Github는 서비스형 원격저장소이며, 다른 형태의 다양한 원격저장소가 존재
  • Github를 이용해서 원격저장소 운용 시 Clone할 때 Use HTTPS와 Clone with SSH의 두 가지 방식이 제공 됨
    • HTTPS의 장점은 그냥 ID와 PW만으로도 원격저장소에 push할 수 있으나, push 할 때마다 ID와 PW가 필요
    • SSH의 중요한 장점은 로그인을 매번 할 필요가 없게 됨
      • 단, 자동 로그인방식을 의미하는게 아닌 그냥 통신방식의 차이
  • ssh-keygen을 친 후 뜨는 경로에 비밀번호가 저장됨
  • 다음으로 계속 엔터를 치면 다른컴퓨터로 접속 가능하게 한 비밀번호가 생성됨
    • 단, SSH는 기계적으로 굉장히 복잡한 비밀번호를 자동으로 생성
  • 해당 경로로 이동(ex. cd ~/.ssh)
  • 경로의 파일들을 중 id_rsa, id_rsa.pub가 비밀번호 키
    • id_rsa: private key(비밀번호가 저장되어있음)
    • id_rsa.pub: public key(공개된 정보가 저장되어있음)
  • 개인 pc에 private 키가 저장되며, public 키도 개인 pc에 저장되나 이 파일은 복사되어 접속하고자 하는 pc의 일정한 디렉터리에 저장
    • 퍼블릭 키가 저장된 파일이 존재하는 pc에 개인 pc로(private 키가 저장된) 접속 시 이를 인지하고 자동으로 로그인해주게 됨
  • 아래의 과정을 통해 Github에 퍼블릭 키를 저장하게 된 것임
  • cat id_rsa.pub로 파일 내용을 보고 해당내용을 copy
  • 다음으로 깃헙에 가서 Settings에서 SSH and GPG keys를 들어가서 공개 키를 저장
    • new SSH key 선택
    • Title에 지역 저장소의 이름(임의대로) 지정
    • 아까 copy 한 내용을 붙여넣기
    • add SSH key 하면 등록 완료
  • Test를 위해 Github에 새로운 저장도를 만듦(gitfth_ssh)
  • 새 repository 생성 시 HTTPS가 아닌 SSH로 선택(주소창 왼쪽) 후 복사
  • 컴퓨터로 돌아와서 git clone git@github.com:ID/gitfth_ssh.git gitfth_ssh로 클론
  • 다음으로 yes를 치고 엔터
    • 보안적인 내용임
  • vim f1.txt파일을 만들고 내용 채운 후 저장
  • git add f1.txt, git commit -m 1로 커밋 후 git push
    • push가 잘 된다면 ssh 키(id_rsa, id_rsa.pub)가 잘 짝을 이루고 있는 상태임