깃 에러 해결: Permission denied (publickey) - TIL 12

2022. 4. 9. 20:28·TIL

깃에서 새롭게 리포지토리를 생성하고 푸시를 하려는데 권한 없음(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...

참고 자료

  • Error: Permission denied (publickey)
  • Generating a new SSH key and adding it to the ssh-agent
  • Adding a new SSH key to your GitHub account
반응형

'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
'TIL' 카테고리의 다른 글
  • 소프트웨어 테스팅 전략 - TIL 11
  • 장고 마이그레이션 초기화 방법 - TIL 10
  • 장고 타임 존 설정하기: 한국 시각 설정 - TIL 9
  • HTTP 요청 GET POST 차이점 정리 - TIL 8
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JWT 인코딩
    장고 URL
    요소 절대 크기
    함수
    장고
    장고 Views
    정규 표현식
    html
    TIL
    HTTP
    css
    깃
    HTTP GET 요청
    요소 상대 크기
    요소 크기 설정
    파이썬
    프로젝트 회고
    HTTP POST 요청
    장고 프로젝트
    탭내빙
    새 탭에서 열기
    배포
    JWT
    target="_blank"
    파라미터
    깃 퍼블릭 키 등록
    JWT 디코딩
    깃 오류
    깃 ssh
    깃 에러 해결
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
깃 에러 해결: Permission denied (publickey) - TIL 12
상단으로

티스토리툴바