Git 서버 - SSH 공개키 생성 및 등록

Git 서버 접속시에 SSH 프로토콜 사용

로컬 개발 환경에서만 Git을 사용한다면 상관 없겠지만, 외부 Git 서버(GitHub, GitLab, BitBucket 등)에서 코드를 Clone 받거나 Push를 하려면 SSH 프로토콜을 사용하는 것이 안전한다. GitHub와 같이 인터넷을 통해 원격에서 많은 Git 서버들은 SSH 프로토콜 공개키 인증 방식을 지원하고 있다.

SSH 공개키와 개인키 만들기

공개키를 사용하려면, 먼저 공개키를 만들어야 한다. 대부분의 운영체제는 비슷한다.

기존에 키가 이미 있는지 확인

먼저, 혹시 모르니 먼저 생성한 키가 있는지 확인한다.

$ cd ~/.ssh
$ ls
id_rsa          id_rsa.pub      known_hosts     known_hosts.old

id_rsa 등이 보이고, 동일한 이름에 확장자로 .pub 파일이 하나 더 있다면 이미 공개키가 생성되어 있는 것이다. 이 파일들이 만약 있다면 이 키를 사용된다.

ssh-keygen으로 성성하기

ssh-keygen 이라는 프로그램으로 키를 생성해 보도록 하겠다. ssh-keygen 프로그램은 Linux나 Mac의 SSH 패키지에 포함돼 있고 Windows는 ‘Git for Windows’ 안에 들어 있다.

ssh-keygen

아래와 같이 명령어로 실행시키면, 몆차기 저장하고 싶은 디렉터리와 두번에 패스워드를 입력하면 됩니다. 암호는 입력하지 않으면 그대로 넘어간다.

% ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/user/.ssh/id_rsa
Your public key has been saved in /Users/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QKYpyuK6Un3qb0ARjL7lw5ER1mZAMl5nYGMQARD3X0Y user@AL02263852.local
The key's randomart image is:
+---[RSA 3072]----+
|=oBB%*= E        |
| o.O+O+.         |
| .o +*. o        |
|....=. +         |
|o. B .. S        |
|o o * .          |
| o   =           |
|o   . .          |
|+. ..o.          |
+----[SHA256]-----+

제대로 생성되어 있다면 아래와 같이 공개키를 확인할 수 있다.

% cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAAD2xwcZj/fJnLZbfw ... 중간 생략 ... d+iauipAZDRLz0cgJcoTr0XuZ9DU= user@AL01234567.local

공개키를 GitHub 계정에 등록하기

생성한 공개키를 아래 링크에 통해서 GitHub 계정이 등록할 수 있다.

GitHub - Add new SSH keys

참조




최종 수정 : 2022-08-28