깃에서 새롭게 리포지토리를 생성하고 푸시를 하려는데 권한 없음(Permission denied) 오류가 발생했습니다. 깃허브 블로그에서 관련 문제 해결 방법을 참조하여 에러를 해결할 수 있었습니다.
정확한 서버로 연결을 시도 중인지 확인하기
정확한 도메인으로 접속하고 있는지 확인하고자 한다면 터미널에 아래 명령어를 입력합니다.
$ ssh -vT git@github.com
> OpenSSH_8.1p1, LibreSSL 2.7.3
> debug1: Reading configuration data /Users/you/.ssh/config
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug1: /etc/ssh/ssh_config line 47: Applying options for *
> debug1: Connecting to github.com port 22.
연결 포트가 22로 설정되어 있다면 정확한 서버로 연결을 시도 중입니다.
깃 사용자 이메일로 로그인하고 있는지 확인
깃에서는 모든 접속을 시도할 때 깃 사용자의 이메일 주소를 사용해야 합니다. 사용자 이름을 사용하고 있는지 확인하고, 다음 명령어를 통해 접속을 시도해봅니다.
$ ssh -T GITHUB-USERNAME@github.com
> Permission denied (publickey).
사용 중인 키 확인
터미널을 열고 프라이빗 키가 생성되어 있으며 SSH에 로그되어 있는지 확인합니다.
# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566
$ ssh-add -l -E sha256
> 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA)
위와 같이 ssh-add
명령어를 통해 문자열이 반환되지 않는다면, 새로운 SSH 키를 추가하고 이를 깃허브와 연동해주어야 합니다.
SSH 키 생성하기
- 터미널을 열고 깃허브 이메일 주소를 사용하여 키를 생성합니다.
$ ssh-keygen -t ed25519 -C "your_email@example.com"
> Generating public/private algorithm key pair.
> Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
- ssh-agent에 생성한 키를 추가합니다.
$ eval "$(ssh-agent -s)"
> Agent pid 59566
$ ssh-add -K ~/.ssh/id_ed25519
- 깃허브 Pofile - Settings로 이동하여 SSH Key를 추가해줍니다.
연결 재확인
이제 다시 연결을 시도해봅니다. 접속에 성공한다면 다음과 같은 메시지가 표시됩니다.
$ ssh -T git@github.com
> Hi username! You've successfully authenticated...
참고 자료
반응형
'TIL' 카테고리의 다른 글
소프트웨어 테스팅 전략 - TIL 11 (0) | 2022.02.20 |
---|---|
장고 마이그레이션 초기화 방법 - TIL 10 (0) | 2022.01.30 |
장고 타임 존 설정하기: 한국 시각 설정 - TIL 9 (0) | 2022.01.20 |
HTTP 요청 GET POST 차이점 정리 - TIL 8 (0) | 2022.01.19 |
장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7 (0) | 2022.01.18 |