SSH는 Secure Shell의 줄임말로 보안이 강화된 안전한 방법으로 정보를 교환하는 방식입니다.
사용자 컴퓨터에서 SSH키 생성기를 실행하면 기본적으로 private key와 public key가 만들어지고 두 키를 한 쌍으로 묶어서 컴퓨터를 인증합니다.
말그대로 public은 공개의 의미로 자신 이외의 모든 사람에게 공개한다는 의미이며 private는 비공개라는 의미로 자신이외에 아무에게도 공개하지 않는다는 의미입니다.
일반적으로 깃허브의 원격 저장소에 파일을 올리는 작업을 하기 위해서 아이디와 비밀번호를 입력하여 인증하여야 합니다.
SSH 원격 접속은 private 키와 public 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식입니다.
서버 환경에서 깃허브 저장소에 접속해야 한다면 서버 자체를 깃허브에 등록하고, 개인 노트북으로 접속한다면 노트북을 깃허브에 등록해 둡니다.
이렇게 하면 터미널 창을 이용할 수 있는 상태라면 언제 어디서든 깃허브에 접속할 수 있습니다.
또한 터미널 창에서 깃허브를 사용하다 보면 아이디와 비밀번호를 요구하는 경우가 많은데, SSH접속 방법을 사용하면 자동 로그인 기능을 통해 이러한 번거로움을 줄일수 있습니다.
그렇다면 SSH키는 어떻게 생성할까요?
터미널 창을 띄우고 홈 디렉터리로 이동합니다.
$cd ~
그리고 ssh-keygen 명령을 입력합니다.
$ssh-keygen
SSH 키가 저장되는 디렉터리 경로가 표시되며 파일 이름을 입력하라고 합니다.
따라서 SSH키가 저장되는 디렉터리는 홈 디렉터리에 있는 .sss 디렉터리임을 확인할수 있습니다.
파일 이름을 입력하지 않고 Enter를 눌러보겠습니다.
위의 빨간색 영역에서 윗쪽줄은 private 키 경로이며 아랫줄은 public 키 경로입니다.
따라서 private 키는 id_rsa파일이 되고 public 키는 id_rsa.pub파일이 되겠네요.
그렇다면 이 키들이 .sss 디렉터리에 저장이 되었을까요?
$cd ~/.ssh
$ls -la
private키인 id_rsa와 public키인 id_rsa.pub파일이 만들어 져있네요.
SSH방식으로 깃허브 저장소에 접근하려면 사용자 컴퓨터에 만들어져 있는 퍼블릭 키를 깃허브 서버로 전송한 다음 저장합니다.
사용자 컴퓨터에서 깃허브의 원격 저장소에 접속하면 사용자 컴퓨터에 있는 private 키와 깃허브 서버에 있는 public 키를 비교합니다.
public 키와 private 키는 한 쌍이므로 두개의 키가 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 연결됩니다.
우선 SSH키를 만들려먼 public 키를 깃허브에 올려야합니다.
public 키가 담겨 있는 id_rsa.pub 파일의 내용을 확인 해보겠습니다.
$cat id_rsa.pub
괴상한 문자열이 나타나게 됩니다.
이 문자열을 전부 Copy해주세요.
그리고 깃허브에서 오른쪽위 사용자 아이콘을 누르고 Settings를 눌러주세요.
그리고 SSH and GPG keys 를 누른다음 New SSH key를 클릭합니다.
Title에는 알아보기 쉬운 제목을 붙여주시고 Key에는 터미널창에서 복사했던 ssh-rsa 키값을 붙여넣어줍니다.
그러고 Add SSH key를 눌러주세요.
public 키를 추가할때 비밀번호를 한번 확인합니다.
방금전 만들었던 SSH 키 중에서 퍼블릭 키를 깃허브에 올렸습니다.
이제 SSH 키를 만든 컴퓨터는 깃허브 저상소의 SSH주소만 알고 있으면 로그인 정보를 입력하지 않고도 즉시 그 저장소에 접속가능합니다.
이제 SSH 원격 접속 준비가 다 되었으니 지역저장소와 원격 저장소를 연결해보겠습니다.
깃허브 오른쪽 위에 사용자 아이콘 왼쪽에 +버튼을 누르면 여러항목이 나옵니다.
이중 New repository를 눌러주세요!(repository가 하나도 없으시다면 Create repositiroy라고 나올수도 있습니다)
저는 sshtest라는 이름으로 레퍼지토리를 만들겠습니다.
레포지토리로 들어가서 HTTPS대신 SSH를 선택하주고 URL을 복사해주세요.
이후 커맨드 창으로 홈디렉터리로 이동해서 ssh-test라는 저장소를 만들어주시고 원격저장소와 연결해 보겠습니다.
$cd ~
$mkdir ssh-test
$cd ssh-test
$git remote add origin 복사한URLPaste
$git remote -v
연결이 잘 되었습니다!
본 포스팅은 DO it! 지옥에서 온 문서 관리자 깃&깃허브 입문 도서를 참고하며 공부한 내용을 포스팅 하였습니다.
'Git > Github' 카테고리의 다른 글
[Git & GitHub] 원격 브랜치 정보 (0) | 2022.06.27 |
---|---|
[Git & GitHub] 여러 PC에서 원격 저장소 함께사용하는법 (0) | 2022.06.26 |
[Git & GitHub] 원격저장소에 파일 올리고 내려받기(push & pull) (0) | 2022.06.24 |
[Git & GitHub] 원격저장소와 지역저장소 연결 (0) | 2022.06.23 |
[Git & GitHub] 수정중인 파일 되돌리기(git stash) (0) | 2022.06.22 |