ssh key를 Github 계정에 등록해두면
해당 컴퓨터에서는 아이디/패스워드 없이 자유롭게 리모트 저장소에 접근이 가능합니다.
이번 Post에서는 Github ssh key 등록에 대해서 다루겠습니다.
1. ssh key 생성
- Git bash에서 아래 명령을 입력합니다. (키가 여러개인 경우 comment 부분에 키를 구분할 수 있는 코멘트를 써줍니다.)
- (-t : 생성할 키 타입 -b : 생성할 키의 비트(bits) 수 -C (대문자) : 코멘트)
ssh-keygen -t rsa -b 4096 -C "comment"
- 명령을 입력하면 아래와 같은 내용이 뜹니다.
Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa):
- 원하는 파일명이나 경로를 적고 enter를 눌러줍니다. (적지 않고 enter를 누르면 기본 경로에 생성됩니다.)
- 다음으로 아래 내용이 표시되는데, 보안이 더 필요하면 비밀번호(개인키의 암호)를 생성하고, 그렇지 않다면 enter를 두번 눌러 넘어갑니다.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
- ssh key 생성에 성공했다면, 아래의 메시지가 출력되고 기본 경로 또는 지정된 경로에 파일이 생성됩니다.
2. 생성한 SSH 키를 ssh-agent에 등록하기 (ssh-key를 생성하면서 비밀번호를 입력한 경우)
SSH 키 생성 시 비밀번호를 입력하면 키를 이용해 원격 서버에 접속할 때 비밀번호를 물어보는데, ssh-agent는 개인키의 비밀번호를 암호화 해 기억해두고 처음 한 번만 개인키 비밀번호를 입력하면 다음부터는 기억한 비밀번호를 이용하므로 사용자는 또 비밀번호를 입력하지 않아도 됩니다. 소켓(Socket)을 생성해서 원격 서버와 통신하기 때문에 비밀번호가 유출될 염려도 없습니다.
- bash에 아래 명령을 입력합니다.
eval $(ssh-agent)
- 아래 error가 발생했다면, PowerShell을 관리자 모드로 실행한 후
unable to start ssh-agent service, error :1058
- PowerShell에 아래 명령을 입력해줍니다. (https://github.com/lukesampson/pshazz/issues/70 참고)
Set-Service ssh-agent -StartupType Manual
- 다시 bash에서 아래 명령을 입력해줍니다.
eval $(ssh-agent)
- 아래 명령을 입력한 후 enter를 누르고, ssh-key를 생성할 때 입력한 비밀번호를 입력합니다.
ssh-add .ssh/id_rsa
3. Git hub 계정에 ssh key 등록
- .ssh 폴더 하위의 id_rsa.pub 파일을 메모장으로 열고 내용을 복사합니다. (첫 글자부터 마지막 글자까지 잘 복사되었는지 확인합니다)
- Github 사이트의 오른쪽 상단의 메뉴에서 Settings를 클릭합니다.
- 왼쪽의 SSH and GPG keys를 클릭한 후, New SSH key를 클릭합니다.
- key에 id_rsa의 내용을 붙여넣고, Title에 key를 구분할 수 있는 key의 title을 입력하고 Add SSH key를 누르면 끝!
참고 블로그
1. https://brunch.co.kr/@anonymdevoo/10
2. https://syung05.tistory.com/20
3. https://devlog.jwgo.kr/2019/04/17/ssh-keygen-and-ssh-agent/
'Git' 카테고리의 다른 글
.gitignore가 작동하지 않을 때 대처법 (0) | 2020.08.18 |
---|---|
Git 기초 명령어 (0) | 2020.06.22 |
Github Tip! (2) | 2020.06.22 |
Git Error 처리 (0) | 2020.06.22 |