Windows PC에서 git push
명령어를 사용하여 Github의 repository로 변경사항을 저장할 때, GitHub에 PC의 ssh-key가 등록되어있어야 합니다.
그렇지 않으면 Repository의 Owner로 인식하지 않아 직접 push할 수는 없습니다.
Windows에서 ssh key를 생성하고 GitHub에 등록하는 방법에 대해서 알아보겠습니다.
1. Git for Windows 다운로드
https://gitforwindows.org/에서 Git for Windows 툴을 다운로드 받고 설치합니다. 설치 후, Git Bash
프로그램을 실행하면 터미널 화면에서 git 명령어를 사용할 수 있습니다. 또한 Git Bash
에서 ssh-keygen
명령어를 사용하여 ssh key를 생성할 수 있습니다.
2. ssh key 생성
Git Bash
실행 후, 다음과 같은 명령어를 입력합니다. 이메일 주소는 자신의 것을 입력합니다.
$ ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
위의 명령어로 key 생성 시, 아래와 같이 passphrase를 입력하라고 여러번 물어보는데, 아무것도 입력하지 않고 엔터를 계속 눌러줍니다.
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/myuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/myuser/.ssh/id_rsa
Your public key has been saved in /c/Users/myuser/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:jqqansjyEPxrCgUM/X7730m/LHCEdz5pkgOwNq7lZcM AAAA@gmail.com
The key\'s randomart image is:
+---[RSA 4096]----+
|.. |
|o . . |
|.. . o . |
|.. . + o o . |
|.... oSo + + . |
| o. . .oo E = = |
|o . ..=.o +.+ . |
|=o....o . o.+ |
|*B=o. .... o.+. |
+----[SHA256]-----+
모두 끝났다면 ssh key가 생성된 것입니다. GitHub에는 Public key를 등록해야해야하는데. 아래와 같이 cat ~/.ssh/id_rsa.pub
명령어로 Public key를 얻을 수 있습니다. 출력되는 모든 내용을(ssh-rsa 부터 이메일 주소까지) 복사해서 GitHub의 ssh key 설정에 추가해주시면 됩니다.
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDm9z+KiAFef1aitKqIBCsKQZUn2eAYWMZ8ClGNncRTHRSCb9Oi14affrZV2S/2CZ9nW8vcqUgHCSPdGoFiwJ7mdvWOk7sNThQiM0OOH4+INK4K3pBwm2UJ2h1Uosyx45xbrOHc15FZFJHQiRgypQZMwdW0uxrEQvQLbFX6zjqZ8KxMOem/8cCmt/v8szw6C9JdGYTDaXuLVBuqSoRx2YYc+7S9Zvo8xINUce4mPh+VyoMN5+8++Ke+mhSS8yOKkyF6A4cJdYOXDEiAyatuS3SNy6BdepZrn0OaEmhNQvoh3Bu4ov/YNW53HGmCsjtjRs7hAHve8bhw0svX9tSwpR/E1Jqto9dEcp3XT8TJG70jeIJRPHL/LPO2T00QZYI5wccMLtoeNEihlWHaHNRBrcHI/70KD6DMGjCsIAYzv/2CwyJABCrR4zRkFitC/3r8U1ENbZTGCga+1AaAd7yWU11PfKrtQ95OCAM83Nu2lQ/2ZjQPl/RsKbezPh+/z3YiAPKIAw//QhgKKqsXjrWCxLgeae8pM5afvLv866C2uWKJdvcJDCCD+/dvNq...your-email@example.com
3. GitHub에서 ssh-key 등록
GitHub의 사용자 설정에서 SSH and GPG keys
메뉴에 진입합니다. New SSH key
를 눌러 내 PC의 public key를 등록합니다.
title은 내가 구분할 수 있는 제목을 마음대로 써주시면 되고, Key
항목에는 위에서 출력한 public key를 붙여주시면 됩니다.
4. push 및 key 등록 확인
git push
명령어로 내 PC에서 push가 잘 되는지 확인합니다. 잘 된다면 key는 올바르게 등록된 것입니다. 잘 안된다면... 에러 로그를 다시 살펴보고 위 내용 중에 잘못 진행한 것이 있는지 다시 확인해보시면 됩니다.
Related Posts
- Git Alias - 단축/커스텀 명령어 설정
- Git에서 .gitignore 설정 방법
- git clone 명령어로 원격 저장소를 로컬에 저장
- Git - 두개 commit의 차이점 확인 (코드 차이, 파일 차이)
- Git - 브랜치 이름 변경하는 방법
- Git - 특정 commit 삭제, 되돌리기 (reset, revert)
- Git - 리모트 브랜치 생성과 삭제
- GitHub에 ssh-key 등록 방법 (Windows10)
- git log - 특정 author의 commit 리스트만 출력
- git log - commit 리스트 간단하게 출력 (pretty)
- Git - revert 명령어(commit 되돌리기)
- git diff 명령어로 파일 변경 내용 확인
- git show 명령어로 commit 정보 확인
- Git - 브랜치 생성, 삭제, 체크아웃
- Git - 원격 저장소(remote) 추가, 해제
- Git - Staging 영역의 파일을 Untracked로 변경
- Git - commit log에서 수정된 파일 목록 보기
- Git - 마지막 commit 수정, 삭제 방법 (reset, amend 명령어)
- git commit message 에디터 변경 (Vim, Sublime, Atom, VSCode)
- Git - blame 명령어, 코드 수정한 사람과 Commit 찾기
- Git - Patch 파일 만들기 & 적용하기