본문 바로가기
Git&GitHub

[GitHub.06] 깃허브에 SSH 원격 접속하기

by 어쩌다개발 2023. 1. 22.
반응형

참고) Do It! 깃&깃허브 입문

SSH 원격 접속이란

SSH는 Secure Shell의 줄임말로 보안이 강화된 안전한 방법으로 정보를 교환하는 방식이다.
기본적으로 프라이빗 키(Private Key)와 퍼블릭 키(Public Key)를 한 쌍으로 묶어서 컴퓨터를 인증한다.
퍼블릭 키는 외부로 공개되는 키이고, 프라이빗 키는 아무도 알 수 없게 사용자 컴퓨터에 저장되는 키다.

사용자 컴퓨터에서 SSH 키 생성기를 실행하면 프라이빗 키와 퍼블릭 키가 만들어진다.

일반적으로 깃허브의 원격 저장소에 뭔가 작업을 하기 위해서는 아이디와 비밀번호를 입력해서 깃허브에게 내가 해당 저장소를 만든 계정의 주인임을 인증해야 한다.

웹 브라우저에서 깃허브 저장소에 접속할 때나 SourceTree 같은 프로그램을 사용해 깃허브 저장소에 접속할 때 이런 방법을 사용한다.

이에 비해 SSH 원격 접속은 프라이빗 키와 퍼블릭 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식이다.
예를 들어 서버 환경에서 깃허브 저장소에 접속해야 한다면 서버 자체를 깃허브에 등록하고, 개인 노트북으로 접속한다면 노트북을 깃허브에 등록해둔다.

이렇게 작업해두면 터미널 창을 이용할 수 있는 상태라면 언제 어디서든 깃허브에 접속할 수 있고, 자동 로그인 기능을 통해 아이디와 비밀번호를 입력하는 번거로움을 줄일 수 있다.

SSH 키 생성

1) 터미널창에서 홈 디렉터리로 이동한다. 그리고 ssh-keygen 이라고 입력한다. 화면에 SSH키가 저장되는 이레거리 경로가 표시되면서 파일 이름을 입력하라고 한다. SSH 가 저장되는 디렉터리는 홈 디렉터리 안에 있는 .ssh 디렉터리임을 확인할 수 있다.
이 때 파일 이름은 입력하지 않고 Enter 를 누른다. 비밀번호 입력 및 비밀번호 확인에서도 입력하지 않고 Enter 만 누른다.

ssh-keygen

id_rsa : 프라이빗 키
id_rsa.pub : 퍼블릭 키

2) 생성된 키를 확인한다.

cd ~/.ssh
ls -la

 

깃허브에 퍼블릭 키 전송하기

SSH 방식으로 접근하려면 먼저 사용자 컴퓨터에 만들어져 있는 퍼블릭 키를 깃허브 서버로 전송한 다음 저장한다.
사용자 컴퓨터에서 깃허브 저장소에 접속하면 사용자 컴퓨터에 있는 프라이빗 키와 깃허브 서버에 있는 퍼블리 키를 비교한다.
퍼블릭 키와 프라이빗 키는 한 쌍이므로 두 개의 키가 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 연결된다.

1) SSH 키를 만들면 먼저 퍼블릭 키를 깃허브에 올려야 한다. 퍼블릭 키가 담겨 있는 id_rsa.pub 파일의 내용을 확인해본다.

cd ~/.ssh
cat id_rsa.pub

엄청 긴 문자열이 나타나는데, 해당 문자열을 복사한다. 

2) github 사이트에 접속한 뒤 Settings 에 들어가준다.

3) 좌측 메뉴 중 [SSH and GPG keys]를 누른 후 우측 화면에서 [New SSH Key] 버튼을 클릭한다.

4) 타이틀을 입력하고, 위에서 복사했던 public key를 key란에 붙여넣기한다. 
그리고 하단에 [Add SSH Key] 버튼을 눌러준다.

이제 SSH 키를 만들었던 컴퓨터는 깃허브 저장소의 SSH 주소만 알고 있으면 로그인 정보를 입력하지 않고도 즉시 그 저장소에 접속할 수 있다.

SSH 주소로 원격 저장소 연결하기

1) 저장소에서 SSH 주소를 복사한다.

2) 터미널에서 아래와 같이 명령어를 입력한다.

git init connect-ssh
cd connect-ssh
git remote add origin [복사한 주소 붙여넣기]
git remote -v //(연결된 원격 저장소 확인)

이제부터 로그인 정보를 요구하지 않기 때문에 편하게 푸시나 풀을 할 수 있다.

반응형

댓글