Introduction
shell에서 파일을 git에 push 할 때,
다음과 같은 오류가 발생했다.
SSH 키가 설정되어 있지 않기 때문에 발생한 문제인데, SSH 키가 필요한 이유와 발급 방법에 대해 살펴보려 한다.
오류 원인
외부 Git 서버에서 코드를 push 할 시, SSH 프로토콜을 사용한다.
SSH 프로토콜은 네트워크를 통해 연결되어있는 컴퓨터를 안전하게 연결해주는 것으로 Shell 이라고도 부른다.
Shell을 통해 명령어를 다른 컴퓨터에게 전달해준다.
그렇기 때문에 SSH 키가 필요한데, SSH 키를 등록하지 않아서 다음과 같은 오류가 발생한 것이다.
발급 방법
ssh-keygen -t rsa -C "깃허브 이메일 주소"
을 입력하면
Generating public/private rsa key pair.
Enter file in which to save the key (/home/***/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/***/.ssh/id_rsa.
Your public key has been saved in /home/***/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:whse/zx2tOsSO1FzmchqYkhWIxxfyxquHRNY8qcwYNY 깃허브 이메일 주소
The key's randomart image is:
+---[RSA 2048]----+
| +oo.. . |
| o .E*oo . |
| +o=.+. . o |
| .o+ * = + |
| o=.S o o |
| ..Ooo= . |
| +.oo = . |
| o* o |
| .o*o. |
+----[SHA256]-----+
다음과 같은 코드들이 출력된다.
여기서 ***는 개인마다 다르다.
2. /home/***/.ssh 으로 이동
3. cat id_rsa.pub을 입력
발급된 SSH 키가 출력된다.
이 키는 절대 발설하면 안된다.
4. 출력된 키를 복사하여 깃허브 계정에 등록한다.
Settings -> SSH and GPG Keys 에 들어가 New SSH key 버튼을 누른다.
그럼 다음과 같은 화면이 나오는데 title은 원하는 대로, key는 아까 복사한 키를 입력하면 된다.
그 후 Add SSH key 버튼을 누르면 SSH 키가 등록되고 git으로 clone이나 push가 가능해진다.