환경 정보

  • Ubuntu 20.04 LTS

 

Step 1. ssh key 생성

  • ssh-keygen -t rsa
    • 터미널에서 해당 명령어를 실행하면 3번의 입력을 받는다
      1. Enter file in which to save the key
      • key가 저장될 디렉토리를 설정한다
      • 미입력 시 기본 값으로 설정된다
      1. Enter passphrase (empty for no passphrase):
      • key에 대한 비밀번호를 설정한다
      • 미입력 시 key에 대한 비밀번호가 없이 설정된다
      1. Enter same passphrase again:
      • key에 대한 비밀번호 설정 시 비밀번호 재입력을 받는다
  • 위의 과정을 거치면, 설정한 디렉토리에 파일이 생성된다
    • 별도의 암호화 방식을 설정하지 않으면 RSA 방식의 프로토콜이 사용된다
    • id_rsa : rsa에 대한 private key
    • id_rsa.pub : rsa에 대한 public key
    • known_hosts : 등록된 호스트들의 값이 들어있다

 

Step 2. GitLab에 Key 등록

  • 자신의 프로필에서 Settings 또는 Preferences로 들어간다
  • “SSH Keys” 항목으로 들어간다
  • “Key”를 입력하는 부분에 id_rsa.pub 파일의 내용을 붙여넣기 한다
  • Title이나 Expiration Date를 설정하는 부분이 있다면 설정한다

 

Step 3. SSH를 이용한 Clone

  • Project에서 “Clone with SSH”를 선택하여 복사한다
  • 프로젝트 파일이 위치할 디렉토리에서 git clone [복사된 값]을 입력하여 clone 한다
  • 처음 진행 시 known_hosts 파일에 호스트를 등록할 지 입력받는다
    • Are you sure you want to continue connecting (yes/no/[fingerprint])?
    • yes를 입력하면 known_hosts 파일에 등록된다
  • 만약 key 생성 시 비밀번호를 설정했다면, 이 과정에서 비밀번호를 입력받는다

 

Step 4. SSH를 이용한 Git 사용

  • SSH를 등록했다면 remote에 대한 push를 할 때 비밀번호와 계정 정보를 입력하지 않아도 된다
  • 하지만 user.name과 user.email 정보는 입력이 필요하다
  • 아래와 같이 입력하여 설정한다
    • git config user.email [이메일 주소]
    • git config user.name [이름]
    • 중간에 --global 옵션을 주면 모든 git 사용 시에 해당 계정 정보가 등록된다
    • --global 옵션이 없다면 해당 레포지토리에만 설정이 저장된다
    • 저장된 정보는 로컬은 git config --list, 글로벌은 git config --global --list 명령어로 확인할 수 있다

 

Append.

  • SSH 키를 이용한 인증 방식은 자신의 컴퓨터에 있는 key 파일이 노출되지 않았을 때 보안이 우수하다
  • 또한 git을 이용하기에도 상당히 간편하다는 장점이 있다
  • 따라서 상황이 된다면 SSH 키를 적극적으로 활용하는 것이 좋다

 

참고자료

'Study > etc' 카테고리의 다른 글

[Git] Git 기본 명령어  (0) 2022.12.20
[JMeter] JMeter 기초  (0) 2022.12.13
[Linux] tmux 사용법 기초  (0) 2022.11.22
[Linux] 쉘 스크립트/터미널의 변수 설정  (0) 2022.11.18
[Linux] vim 주요 명령어  (0) 2022.11.15

+ Recent posts