Github SSH key 생성 및 적용하기

많은 Git 서버들은 SSH 공개키로 인증을 합니다. 또한 Github 연결시마다 계정정보를 입력해야 하는 번거로운을 제거해 준다. 이번에 입사한 회사에서도 서버에서 SSH를 사용해서 인증하는 시스템을 가지고 있어서 이 기회에 세팅을하면서 적용방법을 정리해 보았다.

SSH 공개키 생성

일단 공개키를 사용하려면 공개키를 만들어야 한다. 그 전에 공개키가 있는지 확인이 필요하다. 기본적으로 사용자의 SSH키들은 사용자의 ~/.ssh 디텍토리에 저장한다. 디텍토리의 파일을 살펴서 공개키가 있는지 확인 할 수 있다.

1
2
cd ~/.ssh
ls

보통 id_dsaid_rsa라고 되어 있다. 그 중 .pub 파일이 공개키이고 다른 파일은 개인키 입니다.
이 파일이 없거나 .ssh 디텍토리가 없으면 ssh-keygen 프로그램으로 키를 생성하여 준다.

터미널 실행하여 다음 명령어를 실행

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

적은 이메일을 레이블로 사용해서 새 SSH 키를 작성한다는 메세지가 출력됩니다.(아래와 같은 메세지가 나온다면 성공입니다.)

1
> Generating public/private rsa key pair.

SSH Key 저장위치 설정

“키를 저정할 파일을 입력하십시오” 라는 프로프트가 표시되면 Enter를 누르십시오.(기본위치로 지정)

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

SSH Key 비밀번호 설정

비밀번호 없이 설정할경우 엔터 두번을 눌러주면된다.

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

SSH Key 등록

생성한 SSH Key를 등록해 봅시다

터미널을 실행하여 아래 명령어를 실행하여 백그라운드에서 ssh-agent를 시작

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

ssh의 config 파일에 아래 text를 입력

1
vi ~/.ssh/config

Host * AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

아래 명령어를 입력하여 SSH Key 값을 ssh-agent에 추가

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

SSH Key를 Github 계정에 추가

Github 로그인후 우측상단 메뉴에서 Setting을 클릭

좌측의 Personal settings 메뉴 중에 SSH and GPG keys 클릭

New SSH Key를 눌러서 Title과 Key를 입력후 Add SSH Key 버튼을 눌러준다.

Key 에는 아래명령어를 사용해서 .pub 의 공개키를 입력해 준다.

1
cat ~/.ssh/id_rsa.pub

id_rsa.pub 예시
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local

Github SSH key 생성 및 적용하기를 해보았다. Github 연결시 계정정보를 입력해야 하는 번거로움에서 해방돠었다.

댓글

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×