SSH를 사용해 github와 연결하는 과정을 살펴보겠습니다. ssh-keygen으로 키를 만들어 github에 추가해 보겠습니다.
로컬 컴퓨터를 github에 접속하는 방법의 종류
로컬 머신을 깃허브와 접속하는 방법에는 HTTPS와 SSH가 있습니다.
1. HTTPS 연결
유저명과 패스워드로 로그인을 하는 방식입니다. 아무런 조치를 추가하지 않는다면 기본적으로 이 방식을 사용하게 됩니다. id와 패스워드를 사용하는 https를 이용한다고 해서 잘못되는 것은 없고 안전합니다. 하지만 경우에 따라 최선의 연결 방식이 아닐 수 있습니다. 예를 들어 사용 중인 OS에 따라서 소스를 푸시할 때 매번 사용자 이름과 암호를 물어볼 수 있습니다. 작업이 많은 날에는 꽤나 귀찮을 수 있습니다.
2. SSH 연결
SSH는 Secure Shell의 약자 입니다. SSH는 보안 통신 프로토콜입니다. ssh로 github 계정에 연결하기 위해서는 ssh키를 생성하고, github에 등록해야 합니다. 그런 다음 github와 로컬 컴퓨터를 연결하면 자격 증명을 입력하라는 메시지가 매번 표시되지 않습니다. SSH를 사용하는 것은 HTTPS만큼 안전하므로 안심해도 됩니다. 그리고 인증에 매번 신경 쓰지 않아도 되어 편리합니다.
깃허브 SSH 연결 설정하기
ssh 키를 만들고 이를 사용해서 github에 연결해 보도록 하겠습니다. 윈도우 유저들은 반드시 gitbash에서 실행해주세요.
1.ssh키 확인
먼저 키가 이미 설치되어 있는지 확인해 보겠습니다. git을 이제 막 설치 했다면 아직 키가 없을 가능성이 높습니다.
ls -al ~/.ssh
ssh키가 설치되는 기본 디렉토리가 ./ssh이므로 이곳을 확인해서 키가 있는지 확인해 보겠습니다.
git bash에서 실행해 보면 해당 디렉토리를 찾을 수 없다고 하므로 아직 ssh 키가 설치되지 않았습니다. 만약 기존 키가 있다면 ssh 키 생성을 다시 하지 않아도 됩니다. 뭔지 모르겠다 싶으면 키를 다시 생성해 주세요.
2. ssh키 생성
키가 없으니 생성하겠습니다. ssh-keygen 명령을 통해 새 SSH키를 생성할 수 있습니다.
ssh-keygen -t rsa -b 4096 -C "yourmail@example.com"
ssh-keygen은 ssh의 비밀키와 공개키의 키 페어를 만들어주는 명령어입니다.
커맨드를 입력하면 몇가지 추가 질문이 나옵니다. 파일을 저장하는 기본위치를 물어보고 있고 기본값 수락을 위해 엔터를 입력합니다.
그리고 암호를 물어보는데 원하면 입력을 해도 됩니다. 암호를 쓰지 않고 싶다면 그대로 엔터를 입력하면 됩니다.
키가 생성이 되었습니다.
3. ssh-agent에 추가하기
다음으로 키를 ssh에이젠트에 추가해야 합니다. ssh-agent가 실행중이여야 하므로 확실히 하기 위해 아래 명령어를 입력해 줍니다.
eval $(ssh-agent -s)
ssh-agent가 실행중이므로 ssh 키를 추가할 수 있습니다. 키 추가는 ssh-add명령어로 할 수 있습니다.
ssh-add ~/.ssh/id_rsa
키 생성과 추가를 완료했습니다. 이제 github에 추가해야 합니다.
4. github에 ssh키 추가하기
ssh가 생성된 폴더로 이동해보면 아래와 같이 두 파일이 존재하고 있습니다.
github에 추가하는 파일은 pub라고 적혀있는 공개키입니다. id_rsa.pub파일을 에디터로 열어주시고 안에 있는 내용을 클립보드에 카피해 둡니다.
이제 깃허브에 접속해서 로그인 후 세팅 페이지(https://github.com/settings/profile)로 접속합니다.
세팅 페이지의 왼쪽 메뉴에서 SSH and GPG keys를 클릭합니다. 그리고 SSH keys에서 New SSH key를 클릭합니다.
title을 적절히 적고 key에 복사해놓은 키를 붙여 넣습니다. 그리고 Add SSH key를 누르면 github에 키가 추가됩니다.
5. ssh 접속 확인
마지막으로 깃허브로 ssh 접속이 잘 동작하는지 확인하겠습니다.
ssh -T git@github.com
워닝 메시지가 뜨면 yes를 입력해 줍니다. 그리고 성공적으로 인증이 되었다고 나옵니다.
여기까지 수고하셨습니다! 만약 https를 쓰시다가 ssh로 바꾸시면 remote가 ssh형식으로 되어있는지도 확인해 주세요!
'프로그래밍 > Git' 카테고리의 다른 글
git branch 이해하기 (0) | 2022.09.10 |
---|---|
깃 작업 흐름, github clone부터 push까지 따라하기 (0) | 2022.09.07 |
github 리포지토리 이해하기 (0) | 2022.09.04 |
git 설치 및 환경설정 (0) | 2022.08.30 |
git과 github에 대하여 (0) | 2022.08.19 |
댓글