본문 바로가기
 

Git 저장소 만들고 SSH Key로 접속하기 (1)

내가 Git Repository가 필요 했던 이유.. 아무래도 개발자는 아니다 보니 Git을 개발자들과 같이 매일 사용하는건 아니지만 요즘 업무의 특성상 DevOps를 지향하고 있다 보니 아무래도 git 명령어를 많이 사용하고..

blog.secuof.net

그전 글에서 GitHub의 Repository를 만들고 간단히 commit / push 하는 방법을 알아보았다. 

이제 SSH 접속을 위해서 SSH Key를 생성하고 SSH키를 GitHub에 등록하는 방법을 알아 보도록 하겠다. 

 

SSH Key 만들기

일단 리눅스 기반 기준으로 설명하도록 하겠다. 

필자는 MacOS기반을 이용하고 있지만 리눅스 가반의 모든 운영체제는 동일하게 적용해서 Key를 생성 할수 있다. 

 

ssh-keygen

위와 같이 입력후 Enter Key를 3번 입력하면 $HOME/.ssh/ 폴더 밑에 개인키와 공개키가 생성된다. 

  • $HOME/.ssh/id_rsa : 개인키 파일
  • $HOME/.ssh/id_rsa.pub : 공개키 파일

우리는 생성된 키 파일중 공개키를 GitHub에 등록 후 개인키로 복호화 한후 접속할 것이다. 

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/secuof/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/secuof/.ssh/id_rsa.
Your public key has been saved in /Users/secuof/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:aHMLR/QswAGPrIWqoq0F6+ZLqk+e4hVvJ1YkPnndG7E secuof@Davids-iMac.local
The key's randomart image is:
+---[RSA 3072]----+
|    .oo..        |
|   o o.o o       |
|  . +...o o.     |
| . o. +o... o    |
|o .. +=oS. E     |
|.o  o.+= .  o    |
|+.o. = ..  .     |
|B*..o o          |
|XO*              |
+----[SHA256]-----+

키 파일 등록시 추가 설정 내용 간략 설명

  • Enter file in which to save the key (/Users/secuof/.ssh/id_rsa): 키 파일이 저장되는 위치(경로를 입력시 변경할수 있다.)
  • Enter passphrase (empty for no passphrase): 키 파일 사용시 Password
  • Enter same passphrase again: Password 확인

GitHub에 공개키 등록하기

 

로그인 후 오른쪽 맨 위의 프로필 아이콘을 클릭하면 Settings를 확인 할수 있다 Settings에서 SSH key를 등록 할수 있다. 

  • 등록 위치 : Profile Icon Click >> Settings >> SSH and GPG keys >> New SSH key

GitHub의 SSH keys / GPG keys 등록 화면

 

해당 위치로 이동하면 아래와 같은 화면을 확인 할수 있으며 이곳에 위에서 생성한 공개키를 등록해 하자.

기존에 생성한 공개키 파일을 확인후 생성하면 된다.

    ※ 반드시 공개키를 등록해야 하며, ssh-rsa ~~~ 중략 ~~~ PC의 아이디 끝 까지 모두 붙여 넣어야 한다. ※

cat ~/.ssh/id_rsa.pub

 

공개키 등록
공개키를 등록후 등록 현황을 확인 할수 있다. 


이제 우리는 git 명령어를 통해서 ID와 Password 인증을 받지 않고 바로 작업을 할수 있다. 

 

파일을 하나 추가한 후 GitHub에서 업로드 된 것을 확인해 보자

echo "Add File" >> file_add_test.txt
git add file_add_test.txt
git commit -m "add txt file"
git push origin master

git push시 로그인 정보를 확인하지 않는다.

 

위의 방법은 다른 Git Repository도 동일하게 적용이 가능하며, 이렇게 생성한 키 파일을 이용해서 SSH도 생성한 키로 로그인 할수 있다. 

Secuof Blog