Git, EC2 Permission denied Error) 깃허브 접근 거부 해결 방법

 

Overview

해당 포스팅은 AWS EC2 환경에서 깃허브의 기능을 이용하기 위하여 작성되었습니다.

  • 에러 화면
  • Permission denied (publickey).

 

  • 해결 화면
  • 깃 클론으로 가져오고 정상적으로 클론되었는지 파일 목록 확인


Error

SSH 프로토콜을 사용하여 Git 리파지토리를 복제하려고하였으나

공개 키가 리파지토리에 액세스할 수 있는 권한이 없는 경우 발생되는 메시지

해결 방법은 SSH 키를 추가하여 액세스 권한을 추가하면 된다.

(base) [ec2-user@ip github]$ git clone git@github.com:~~~.git
Cloning into '~~~'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

해결 방법

새 SSH 키 생성

ssh-keygen -t ed25519 -C "your_email@example.com"

 

  • 이후 저장 경로와 프롬프트 보안 암호를 입력
  • 특별한 이유가 없는 이상 패스 (엔터 세 번)
    • Enter file in which to save the key : 저장 경로 설정, 엔터 입력
    • Enter passphrase : 프롬프트 보안 암호 설정, 엔터 입력
    • Enter same passphrase again : 프롬프트 보안 암호 재확인, 엔터 입력


SSH 키에 SSH 에어전트 추가

  • ssh-agent 실행중인지 확인
    • Agent pid ~~~ 가 뜨면 실행 상태
eval "$(ssh-agent -s)"

 

  • SSH 개인 키를 ssh-agent에 추가
ssh-add ~/.ssh/id_ed25519


ssh 개인 키 복사하기

  • 생성한 ssh 키를 나노 에디터로 열어서 키 복사
nano ~/.ssh/id_ed25519.pub

 

  • 나노 에디터에서 키 복사하기
    • ssh-ed25519 라고 써져있는 줄 모두 드래그 (복사)
      • 주의 : 글자가 짤리면 뒷부분이 $로 복사되므로 반드시 모든 글자가 보이도록 창을 키워주기!
    • Ctrl+X : 나노 에디터 종료


깃허브에 새 SSH 개인 키 추가

  • 깃허브 홈페이지 접속 후 로그인
  • 우측 상단의 프로필 - Settings

 

  • 좌측 메뉴의 SSH and GPG keys
    • SSH keys - New SSH key

 

  • 추가할 새 ssh 키 설정
    • TItle : 원하는 이름 입력
    • Key : 리눅스(EC2)에서 복사한 ssh 개인 키 값 붙여넣기
  • Add SSH key 버튼 클릭


SSH 접속 테스트(Git Clone)

  • 정상적으로 잘 된다!


참고

GitHub Docs - Generating a new SSH key and adding it to the ssh-agent

GitHub Docs - Adding a new SSH key to your GitHub account