Git 오류Permission denied (publickey).

2340 단어 errorGit
Git에서 푸시하려고하면 오류가 발생했습니다.

오류 메시지



터미널에서 돌아온 에러문은 아래와 같습니다.
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

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

리모트 리포지토리를 읽을 수 없어, 액세스권을 작성해 주세요라는 것이었습니다.

해결 방법



SSH key(공개키)를 등록, 혹은 재설정하면 push 할 수 있게 되는 것이었으므로 시험해 보았습니다.

등록 흐름


  • 공개 키 생성
  • 공개 키 복사
  • GItHub에 붙여넣고 등록

  • SHH 명령이란?



    SSH는 암호화 기술을 사용하여 원격 호스트에서 안전하게 명령을 실행하는 프로토콜이며, "ssh"는 해당 프로토콜을 사용하여 원격 서버를 원격으로 조작하는 명령입니다.

    @IT

    SHH 명령을 사용하면 원격 호스트 (SSH 서버)에 로그인 할 수있게된다는 것입니다.
    과연, 공부가 되었습니다.

    SSH Key (공개 키) 설정 방법



    .ssh 디렉토리로 이동하여
    $ cd ~/.ssh
    

    명령을 실행합니다.
    $ ssh-keygen
    

    id_rsa.pub에 public key(공개 키)가 생성됩니다.
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): 
    /Users/xxxx/.ssh/id_rsa already exists.
    Overwrite (y/n)? y
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    our identification has been saved in /Users/xxxx/.ssh/id_rsa.
    Your public key has been saved in /Users/xxxx/.ssh/id_rsa.pub.
    

    pbcopy 명령으로 복사하고,
    $ pbcopy < ~/.ssh/id_rsa.pub
    

    GitHub의 설정 화면에서 "New SSH"로 공개 키를 붙여 넣습니다.
    공개키가 맞으면 다음 화면이 됩니다.



    공개 키가 잘못되면 다음 오류가 반환됩니다.
    Key is invalid. You must supply a key in OpenSSH public key format.
    

    다음 명령을 사용하여,
    $ ssh -T [email protected]
    

    successfully authenticated를 반환하면 등록이 성공한 것입니다.
    Enter passphrase for key '/Users/xxxx.ssh/id_rsa':
    Hi user-name! You've successfully authenticated, but GitHub does not provide shell access.
    

    Google 번역해 보면 "인증에 성공했지만 GitHub는 쉘 액세스를 제공하지 않습니다."라는 것.

    쉘 액세스는 불가능하지만 SSH 액세스는 가능합니다.

    좋은 웹페이지 즐겨찾기