깃허브에 앞으로 코드를 정리해보려고 다시 로컬과 연결하는 과정에서 SSH key를 생성하여 사용하는 방식이 있어서 이번엔 그 방식을 찾아 설정해보았다.
SSH(Secure Shell Protocal)
- 암호화된 원격 접속(통신) 프로토콜
- 멀리 떨어져 있는 컴퓨터(SSH server)
- 내 컴퓨터(SSH client)
- SSH server와 SSH client는 Shell로 접근과 제어가 가능하다 ->SSH
- 보안상 안전하다 (client와 server가 암호화되어 있기 때문에 중간에 데이터를 캐치할 수 없다)
- 접속하고자 하는 컴퓨터(server)에 ssh server가 설치 되어 있어야 접속 가능하다
SSH key
SSH 프로토콜을 이용해서 서버에 접속 하고자 할 때 서버에 비밀번호를 입력하는 대신 SSH key를 제출
git에서 SSH Key를 왜 사용하는가?
- local에서 git 원격 저장소에 push, pull을 할 때 패스워드를 매번 입력해야 하는데 SSH Key를 생성하면 매번 push, pull할 때 패스워드를 입력해야 하는 수고를 덜 수 있다.
- git에서는 https를 통해 통신할 수 있지만 이번 기회에 SSH key를 생성해서 SSH로 통신하는 방법을 알아보고자 사용하였다.
SSH key 생성해보기
SSH Key는 일반적으로 ~/.ssh 에 존재한다.
1. 키 생성 명령어
ssh-keygen -t rsa -b 4096 -C "email@gmail.com"
- rsa는 암호화 방식으로 키를 생성한다는 의미
- email는 깃에 등록한 이메일을 써주면 된다.
- 4096같은 경우, 일단 찾아본대로 따라하긴 했는데 내용을 보니 SSH 키가 2048비트 또는 4096비트의 키여야 하기 때문이라고 한다.
2. passphrase입력 요구 : 엔터 두번 입력
이렇게 하고 나면 사용자 키 (passphrase)를 입력하게 나온다. (엔터치면 된다)
그럼 아래처럼 키 생성이 완료된 결과 화면이 나온다.
3, SSH-Agent에 SSH Key 등록
ssh-add -K ~/.ssh/id_rsa
생성한 SSH_Key파일을 ssh-agent에 등록하는 과정이다. 아래처럼 Identity added의 결과를 볼 수 있다.
4. SSH 공개키(id_rsa.pub) 복사하기
cat id_rsa.pub
해서 나오는 key값을 복사한다(ctrl+C)
5. Ghithub설정페이지 -> SSH and GPG keys -> New SSH Key-> Add SSH Key
- github에 로그인하면 오른쪽 상단에 your profile이 있다 여기서 Settings을 눌러 설정창으로 들어간다.
- 설정창에 들어가면 왼쪽 메뉴바에서 "SSH and GPG keys"를 클릭한다.
- 오른쪽 상단 New SSH key를 클릭한다.
- title에는 이 key를 지정하고 싶은 name을 적으면 되는데 나는 그냥 personal-mac으로 지정해주었다.
- 그리고 아래 key란에는 아까 복사 해놓았던 key를 붙여넣기 한다.
- 마지막으로 Add SSH key를 누르면 등록된다.
이제 github에 만들어놓은 repository를 ssh clone하여 로컬 저장소에서 clone하여 사용하면 된다. 아래처럼 확인해보면 clone이 잘 됨을 확인할 수 있다.
Git - SSH 공개키 만들기
많은 Git 서버들은 SSH 공개키로 인증한다. 공개키를 사용하려면 일단 공개키를 만들어야 한다. 공개키를 만드는 방법은 모든 운영체제가 비슷하다. 먼저 키가 있는지부터 확인하자. 사용자의 SSH
git-scm.com
'Git' 카테고리의 다른 글
[git] GIT 버전관리의 본질 (0) | 2020.12.26 |
---|