Git - SSH key 생성하기

ubiies·2023년 5월 10일
0

Git

목록 보기
1/2

맥북을 포맷하고 나서 git push를 하려니 이러한 에러가 발생했다. Pesmission denied, 허가 거부가 되어 권한이 없다고 한다. 이 문제는 사용자의 SSH key가 등록되지 않아 접근권한이 없기 때문에 발생한 것이라고 한다.

SSH란?

Secured SHell, 원격 컴퓨터에 접속하기 위해 사용되는 프로토콜이다. 셸은 명령어를 통해 내 컴퓨토가 아닌 네트워크로 다른 컴퓨터에 전달해주고 결과를 받아볼 수 있게 해주는 게 바로 SSH이다. 그렇기 때문에 내 컴퓨터에 git과 통신할 때 아이디, 비밀번호 대신 SSH Key를 전송한다. 로컬 개발 환경에서 Git을 단독으로 사용한다면 SSH가 없어도 무방하지만, 안전하게 외부 Git 서버에서 코드를 clone하거나 push하려면 SSH 프로토콜으르 사용한다.

그럼 SSH key를 생성해보자!

key를 생성할 때 2가지의 key가 생성된다.

  • 공개키
  • 개인키 : 비밀번호와 마찬가지이므로 반드시 나만 접근할 수 있도록 안전하게 보관해야 한다. 개인키가 있으면 내가 공개키를 등록해놓은 SSH 서버나 Git 서버에 접속할 수 있기 때문이다.
$ ssh-keygen -t rsa -C "yourgit@email.com"

최신 암호화 방식인 ed25519도 있지만 RSA에 비해 더 귀찮다고 한다.

  • 암호화 방식 -t (dsa, ecdsa, ed25519, rsa)
  • 코멘트 -C
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

이렇게 비밀번호를 생성할 것이냐 물어보는데 생성하기 귀찮으면 계속 Enter를 눌러 넘어가면 된다.
이런 식으로 그림과 key가 나오면 정상적으로 생성된 것이다.

$ cd ~/.ssh
$ ls

이 폴더 내에 id_rsa,id_rsa.pub이 한 쌍으로 있을 것이다.

$ cat ~/.ssh/id_rsa.pub

id_rsa_pub 안의 내용이 바로 공개키이다. 명령어를 통해 파일을 열고 SSH key를 복사한다.
(여기서 cat 명령어는 파일 또는 텍스트 파일의 내용을 화면에 출력하는 리눅스 명령어이다.)


이 다음 https://github.com/settings/profile git Settings에 들어가 SSH key를 추가해주기만 하면 된다.
이름은 home, macbook 이런 식으로 아무렇게 지어주면 된다.
SSH key를 추가한 뒤 정상적으로 push되는 모습!

0개의 댓글