Github - SSH 등록하기

이전에 작성한 쉘에서 SSH 키를 생성한 후, 이를 Github에 저장해서 사용하는 방식이다.

위키백과에 의하면, SSH(Secure Shell)는 네트워크 상의 다른 컴퓨터에 로그인하거나 Github과 같은 원격 시스템에 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있는 프로토콜이라고 한다.

SSH는 암호화되어 통신하기 때문에 통신이 노출되더라도 안전하다고 한다.

더 알아보기


먼저 쉘에서 SSH 키를 생성해보겠다.

터미널에서 아래 명령어를 입력한다.

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

그럼 key pair가 생성된다.

1
> Generating public/private rsa key pair.

이후에 프롬프트(Terminal)에 입력을 요구하는 메세지가 출력된다.

1
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

엔터를 입력하고,

1
2
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

기억할 수 있는 문장을 두번 입력한다.

그리고 터미널에 아래의 명령어를 입력하여 ssh-agent 를 실행한다.

1
2
$ eval "$(ssh-agent -s)"
> Agent pid 59566

pid는 리눅스, 맥 등의 유닉스 관련 대부분의 OS 커널에서 사용하는 Process ID라고 한다. (출처)

그리고 시에라 버전 10.12.2 이상의 맥을 사용한다면, ~/.ssh/config 를 수정해주어야 한다.

1
2
3
4
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

그리고 SSH 키를 ssh-agent에 연결하고 기억할 수 있는 문장(passpharase)를 키체인에 저장한다.

ssh-agent는 리눅스 또는 유닉스 계열의 OS에서 로그인이 필요할 때 자동으로 config 를 도와준다고 한다.

1
$ ssh-add -K ~/.ssh/id_rsa

이제 Github 설정에서 방금 생성한 SSH 키를 등록할 것이다.

생성한 키(~/.ssh/id_rsa.pub)를 복사한다. (클립보드에 저장된다.)

1
$ pbcopy < ~/.ssh/id_rsa.pub

그리고 Github 설정의 왼쪽 메뉴바에서 [SSH and GPG key]를 클릭한다.

[New SSH key] 를 클릭한다.

Title은 입력하고 싶은 이름을 입력해두고, Key에 아까 복사해뒀던 키를 붙여넣기해주면 된다.

출처