깃허브를 사용하려면 먼저 OpenSSH 키를 등록해야 한다.

로컬 개발 환경에서 깃을 단독으로 사용한다면 SSH가 없어도 무방하다. ( 지금까지 내가 그랬던 것처럼 )

안전하게 외부 깃 서버에서 코드를 clone하거나 push 하려면 SSH 프로토콜을 사용한다.

 

SSH

SSH는 "Secure Shell"의 약자로, 네트워크 프로토콜 중 하나이다.

주로 원격으로 다른 컴퓨터에 접속하고 명령을 실행하거나 파일을 전송하는 데 사용된다.

SSH는 네트워크 통신을 암호화하여 보안을 강화하며, 안전한 원격 접속을 가능하게 한다.

SSH는 Git 외에도 주로 리눅스 및 유닉스 시스템에서 사용된다.

 

공개키 인증 방식

1. 클라이언트의 공개키 생성 : 키 쌍을 생성 ( 공개키 & 비밀키 ), 공개키는 서버에 제공

2. 서버에 공개키 등록 : 클라이언트의 공개키는 원격 서버에 등록된다.

3. 인증 요청 : 클라이언트가 서버에 연결하려고 할때, 클라이언트는 자신의 공개키를 서버에 제공

4. 공개키 검증 : 서버는 클라이언트가 제공한 공개키를 사용하여 클라이언트를 인증한다.

5. 액세스 승인 : 공개키가 서버에 등록된 공개키와 일치하는 경우, 클라이언트는 성공적으로 인증되고 액세스 권한이 부여된다.

 

위와 같이 사용자의 비밀키를 전송하지 않고도 안전하게 액세스할 수 있도록 해준다.

 

SSH 공개키와 개인키 만들기

$ ssh-keygen -t ed25519 -C "your_email@example.com"

 

 

 

위 ed25519 방식으로 동작하지 않는 경우에는 RSA 옵션으로 키를 생성한다.

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

 

 

 

키를 만들고 나면,

$ ssh-keygen -t ed25519 -C "kwakprogram@gmail.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/claire/.ssh/id_ed25519):

 

저장하려는 위치를 물어본다. 

 

 

 

SSH 키에 대한 비밀번호를 추가로 설정할 지 물어본다.

나는 없이 사용하고 싶어서 그냥 엔터를 입력해주었다.

나중에 알았지만 GitHub에서는 공식적으로 패스워드 설정을 권장한다고 한다..ㅎ

 

 

 

SSH 키가 생성이 되었다.

개인키는 /Users/claire/.ssh/id_ed25519

공개키는 /Users/claire/.ssh/id_ed25519.pub

에 저장되었다.

 

 

$ cat id_ed25519

 

cat 명령어로 개인키를 출력해보면 키가 잘 생성되었는 지 확인해볼 수 있다.

 

cat id_ed25519.pub

 

공개키 출력 명령어 -> 출력된 결과를 GitHub에 등록해주어야 한다.

 

GitHub에 SSH Key 등록

로그인 후 오른쪽 상단의 프로필을 클릭하고 Settings 메뉴로 이동한다.

사이드 바에서 SSH and GPG keys -> New SSH key

 

 

 

 

 

 

 

 

 

 

 

 

Title 필드에는 등록하려는 키의 이름을 입력한다.

Key 필드에는 앞에서 복사한 공개키 원본 그대로 입력한다.

 

등록까지 끝 !!

+ Recent posts