gitlab - 사용법

2 분 소요

1. SSH(Secure Shell)이란?

텔넷의 경우 데이터를 보내는데 암호화되지 않기 때문에 비밀번호 노출 등 보안에 취약한 단점이 존재한다. 원격 터미널 접속 시 텔넷과 같은 보안 취약점을 보완하기 위해 사용한다.

1.2. SSH-key

비밀번호보다 높은 수준의 보안이 필요할 때 SSH-key로 접속을 한다. 한번 Server에 SSH키를 등록하고 나면 ID/PW입력 없이 접속이 가능하다.

SSH-Key는 일반적으로 두개가 존재하며, 접속시 두 키를 비교하여 인증한다.

  • 공개키(public) : 모두에게 공개, SSH Server에 등록
  • 비공개키(private) : 외부에 비공개, 개인 local에 저장

2. SSH 공개키 만들기

많은 Git 서버들은 SSH 공개키로 인증을 한다. 공개키(public key)를 사용하려면 일단 공개키를 생성해야 한다. (아래의 내용은 Linux OS 기준으로 작성되었다.)

2.1. 생성

ssh-keygen이라는 프로그램으로 키를 생성해야 한다. ssh-keygen프로그램은 리눅스나 Mac의 SSH 패키지에 포함되어 있기 때문에 별도의 설치를 필요하지 않다.

아래의 명령어 입력을 통해서 public key와 private key 한쌍을 생성한다.

ssh-keygen

key가 생성될 경로를 입력하고 암호를 두번 입력한다. 이때 암호를 비워두면 키를 사용할 때 암호를 묻지 않는다. (보안상 입력을 권장한다.)

Enter file in which to save the key (/Users/one0/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

아래의 이미지가 출력된다면 public key가 정상적으로 생성된것을 의미한다.

Your identification has been saved in /Users/one0/.ssh/id_rsa.
Your public key has been saved in /Users/one0/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:WNlpwC+rDpXGezeKvxidU1fJ24nlHhpFS+5Cdmx7EZA one0@One0-MacBook
The key's randomart image is:
+---[RSA 2048]----+
|       ..    .o+ |
|        .+ . E=.o|
|        o.+  o+X |
|     . +... o.Oo+|
|      * So. .+.*o|
|     o o.o .  = o|
|    . o.= o  . . |
|     ..= + .     |
|     .+.+.       |
+----[SHA256]-----+

2.2. ssh-key 생성확인

명령어 입력을 통해서 public key와 private key가 생성되었는지 확인하도록 한다.

cd /Users/one0/.ssh/
ls -al

아래와 같이 id_rsa, id_rsa.pub 파일이 생성되었다면 정상적으로 ssh-key가 생성된 것이다. 이중에 .pub파일이 공개키 이고, 다른 파일은 개인키이다.

3. SSH 공개키 등록하기

gitlab project를 clone하기위해서 SSH 공개키를 등록하도록 하자.

3.1. 로그인

브라우저 URL창에 https://192.168.4.236/gitlab 입력하여 접속한다. 로그인 화면이 출력되었으면 할당받은 아이디와 패스워드를 입력하여 로그인하도록 한다.

3.2. SSH 공개키 등록화면 이동

Setting -> SSH Keys으로 접근한다.

3.3. SSH 공개키 가져오기

아래 명령어를 통해서 공개키를 조회한다.

cd /Users/one0/.ssh
cat id_rsa.pub

아래와 같은 공개키를 확인 할 수 있다. 공개키를 복사(Ctrl + c하도록 한다.)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB3yL4gIY98QJ8FPRf6ROzQL2F+gVPuR5PPfx/BIKp5Sck/RVnWMrl4tdSRSo1KaSRKHwZ+IoNcuUsZW/ft6j07AnXLnJhhuYgoGBYeJb5UGbCEFctjA4xAxg0nnJD113AfIh9wRWZnyvON7oDkF+p1Wf6RevyPSqRirKehgbvMKM93lkiYzzFvmtd7tnm3G0/GXay7AzctD2/XCyV0W/dRYYsHMOFjJwV8/kla/CPmorhj6D45+XbTe7FPDszC1gY7unUD8GFwhyVOSK/v1IjDqvFUFzJnPqMCIsB4z/Sxmd3ScvGTKm4zkM2na7gt+NQMHkYkOpkYxxbt4Go49 one0@One0-MacBook

3.4. SSH 공개키 등록하기

아래와 같이 복사한 공개키를 Key란에 붙여넣기 하도록한다. Title란은 임의의 값을 넣도록 한다. 값을 모두 입력하였으면 Add key를 눌러 SSH 공개키 등록을 완료하도록 한다.

4. git clone

위에서 설명한 SSH 접속 방식을 통해서 gitlab project clone을 하도록 하자.

4.1. git 주소 가져오기

아래의 화면의 SSH주소를 복사하도록 한다.

4.2. git clone 실행하기

아래의 명령어와 같이 자신의 개발환경 프로젝트 폴더로 이동한다.

cd [프로젝트 폴더 경로]

아래의 명령어를 실행하여 원격저장소로 부터 소스를 복제하도록 한다.

생성폴더 명을 입력하지 않으면 원격저장소의 프로젝트 명이 기본값으로 폴더가 생성된다.

git clone ssh://git@192.168.4.236/ems/2017_ems.git [생성폴더명]

아래와 같이 원격저장소의 프로젝트 소스가 복제된 것을 확인 할 수 있다.

태그:

카테고리:

업데이트:

댓글남기기