Git

[Git] SSH를 통해 GitHub 연결하고 사용하기

judyshin 2024. 5. 8. 14:34

 

 

항상 HTTPS를 통해 GitHub를 연결하고 사용했었는데, SSH를 이용하는 방법도 알게 되어 소개합니다.

GitHub과 같은 원격 저장소에 접근할 때 사용하는 주요 두 가지 방식은 HTTPS와 SSH입니다

 

HTTPS는 사용자의 GitHub 아이디비밀번호를 사용하여 인증하고,

SSH는 사용자의 컴퓨터에서 생성된 SSH 키 쌍 (공개 키와 비밀 키)을 사용하여 인증하는 방식입니다

이 두 방식은 모두 데이터 전송 시 보안을 제공하지만, 인증 방식과 설정 과정에서 차이가 있습니다

HTTPS

HTTPS 방식은 Git 저장소에 접근하기 위해 HTTP를 보안(SSL/TLS) 계층으로 감싼 것입니다

HTTPS를 사용할 때는 GitHub 계정의 사용자 이름과 비밀번호(또는 토큰)를 사용하여 인증합니다

 

장점:

  • 설치가 간단하고, HTTPS 포트(443)는 대부분의 방화벽과 프록시에서 이미 열려 있기 때문에 대부분의 환경에서 잘 작동합니다.
  • 개인 접근 토큰(PAT, Personal Access Token)을 사용하여 보안을 강화할 수 있습니다.

단점:

  • 비밀번호/토큰 캐싱이 설정되어 있지 않다면 매번 저장소에 접근할 때마다 비밀번호 또는 토큰을 입력해야 하는 번거로움이 있을 수 있습니다.

SSH

SSH(Secure Shell) 방식은 보안된 네트워크 프로토콜을 사용하여 서버에 접속합니다.

SSH 키 쌍을 생성하고, 공개 키를 GitHub에 등록하여 사용합니다. 이 때, 개인 키는 사용자의 로컬 컴퓨터에 안전하게 보관됩니다.

 

장점:

  • 연결 설정 후에는 서버에 자동으로 안전하게 연결할 수 있으며, 매번 인증 정보를 입력할 필요가 없습니다.
  • 데이터 전송과 인증 과정에서 높은 수준의 보안을 제공합니다.

단점:

  • SSH 키를 생성하고 관리해야 하는 추가적인 설정 작업이 필요합니다.
  • 일부 환경에서는 SSH 포트(22)가 차단되어 있을 수 있습니다.

 

SSH를 통해 Github 연결하는 방법

1. 키 생성하기

 

오른쪽 맨위 프로필을 누른 뒤, 설정에 들어가서 왼쪽 사이드 메뉴에서 [SSH and GPG keys]에 들어갑니다
이미 생성된 key가 있다면 화면에 보이지만, 지금은 key가 없으니 새로 만들어 줘야 합니다
connecting to Github using SSH keys 를 눌러줍니다
그럼 아래와 같은 화면이 나옵니다

 

 

 

새 SSH 키 생성 및 ssh-agent에 추가를 눌러줍니다
그럼 새 페이지로 이동하게 되는데,

저는 Mac을 쓰고 있기 때문에 그대로 진행했습니다
Window 나 Linux는 해당 탭으로 이동하시면 됩니다

 

 

 

페이지에 적힌 설명 대로 터미널을 열고 따라하시면 됩니다
저는 key 생성 이후 key가 저장된 폴더(.ssh)로 가서 cat 명령어를 이용해 key(.pub) 내용을 확인했습니다

 

 

2. 새로운 키 등록하기

 

이제 다시 맨 처음 페이지로 와서 우측 상단에  New SSH key 를 눌러줍니다

 

 

 

Title에 자신이 원하는 키 이름을 적어줍니다
key에는 위에서 발급받은 key 파일안에 적힌 내용을 복붙해줍니다
그러면 아래와 같이 SSH key 가 등록이 됩니다

 

 

3. Clone 하기

 

 <> code  를 누르고 평소처럼 HTTPS가 아닌, SSH를 누르고 터미널에 git clone 하고 복사 붙여넣기 하면 끝입니다!!