반응형
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-ed25519 라고 써져있는 줄 모두 드래그 (복사)
깃허브에 새 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
반응형