로컬 인증 설정

시스템에서 호스트 저장소에 액세스하거나 상호작용하려면 먼저 사용 환경에서 로컬 인증을 설정해야 합니다.

로컬 인증을 설정한 후에는 적절한 역할 및 권한이 있는 호스트 저장소에 액세스할 수 있습니다. git clone, git pull, git push와 같은 표준 Git 작업도 수행할 수 있습니다. Google Cloud Console에서 저장소 콘텐츠 둘러보기와 같은 작업을 수행하는 데는 로컬 인증 설정이 필요하지 않습니다.

Cloud Source Repositories는 다음 인증 유형을 지원합니다.

SSH를 통해 인증

Cloud Source Repositories에서는 SSH 공개 키 인증을 사용하여 호스트 저장소에 액세스할 수 있습니다. 이 시나리오에서는 저장소에 액세스하려는 로컬 시스템에 먼저 키 쌍을 생성합니다. 그런 다음 Google Cloud에 공개 키를 등록합니다. 시스템에 이미 SSH 키 쌍이 있는 경우 인증에 해당 키를 다시 사용할 수 있습니다. Google 계정당 최대 20개의 공개 키를 등록할 수 있습니다.

Cloud Source Repositories는 다음 세 가지 SSH 키 유형을 지원합니다.

  • RSA(2,048비트 이상이 있는 키만 해당)
  • ECDSA
  • ED25519

키 쌍 생성

SSH 키 쌍은 로컬 시스템에 있는 비공개 키와 Google Cloud에 등록하는 공개 키로 구성됩니다.

Linux 또는 macOS

  1. OpenSSH가 로컬 시스템에 설치되어 있는지 확인합니다.

  2. 명령 프롬프트에 다음 명령어를 입력합니다.

    ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
    

    각 항목의 의미는 다음과 같습니다.

    • [USER_EMAIL]은 이메일 주소입니다.
    • [KEY_TYPE]은 다음 중 하나입니다.
      • rsa
      • ecdsa
      • ed25519

    예를 들면 다음과 같습니다.

    ssh-keygen -t rsa -C "user@example.com"
    

    ssh-keygen을 실행할 때 공개 키를 저장할 파일의 이름과 암호를 묻는 메시지가 표시됩니다.

Windows

  1. PuTTY가 로컬 시스템에 설치되어 있는지 확인합니다.

  2. Windows 시작 메뉴에서 PuTTYGen을 시작합니다.

  3. 창이 열리면 Parameters(매개변수) 필드에서 키 유형을 선택합니다.

  4. Generate(생성)를 클릭합니다.

    PuTTYGen에 생성된 공개 키 문자열이 표시됩니다.

  5. 키 쌍을 보호할 암호를 지정합니다.

  6. 생성한 키 쌍을 로컬 시스템에 저장하려면 Save Public Key(공개 키 저장)Save Private Key(비공개 키 저장)를 클릭합니다.

기존 키 사용

SSH 인증에 기존 키 쌍을 사용할 수도 있습니다.

Linux 또는 macOS

기본적으로 공개 키 파일은 ~/.ssh 디렉터리에 있습니다.

명령 프롬프트에 다음 명령어를 입력합니다.

ls -a ~/.ssh

기본 파일 이름은 다음과 같습니다.

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

Windows

  1. Windows 시작 메뉴에서 PuTTYGen을 시작합니다.

  2. 창이 열리면 Load(로드)를 클릭합니다.

  3. 로컬 파일 시스템에서 공개 키 파일을 찾아서 선택합니다.

    PuTTYGen에 공개 키 문자열이 표시됩니다. 키 파일을 저장할 때 암호를 지정한 경우 공개 키를 보려면 암호를 입력하라는 메시지가 PuTTYGen에 표시됩니다.

공개 키 등록

  1. GCP Console에서 SSH 키 관리 페이지를 엽니다.

    Cloud Source Repositories 열기

  2. SSH 키 등록을 클릭합니다.

    SSH 키 등록 대화상자가 열립니다.

  3. 키 이름 필드에 고유한 키 이름을 입력합니다.

  4. 필드에 공개 키 파일의 키 문자열을 복사합니다.

  5. 등록을 클릭합니다.

SSH 인증을 설정한 후에는 필수 역할 및 권한이 있는 모든 저장소를 클론하거나 비어있는 호스트 저장소에 로컬 저장소의 콘텐츠를 푸시할 수 있습니다.

Cloud SDK를 사용한 인증

Cloud Source Repositories에서는 Cloud SDK를 사용하여 인증할 수 있습니다. 이 시나리오에서는 시스템에서 gcloud init 명령어를 실행하여 로컬 인증을 설정합니다.

  1. 로컬 시스템에 Cloud SDK가 설치되어 있는지 확인합니다.

  2. 명령어 프롬프트에서 gcloud init을 실행합니다.

    gcloud init
    
  3. 안내를 따릅니다.

Cloud SDK를 사용해 인증을 설정한 후에는 표준 Git 명령어를 사용하여 Cloud Source Repositories에서 호스트 저장소와 상호작용할 수 있습니다.

수동으로 생성된 사용자 인증 정보를 사용한 인증

인증에 수동으로 생성된 사용자 인증 정보를 사용할 수도 있습니다. Cloud Source Repositories는 호스트 저장소에 액세스하는 데 필요한 사용자 인증 정보를 수동으로 생성하기 위해 사용할 수 있는 스크립트를 제공합니다.

  1. Configure Git(Git 구성) 페이지로 이동하여 사용자 인증 정보를 생성합니다.

    Configure Git(Git 구성) 페이지로 이동

  2. 터미널 창을 엽니다.

  3. 다음 명령어를 입력합니다.

    git clone https://source.developers.google.com/p/PROJECT_ID/r/REPOSITORY_NAME
    

    여기에서

    • PROJECT_ID는 프로젝트 이름입니다.
    • REPOSITORY_NAME은 저장소 이름입니다.

수동으로 생성된 사용자 인증 정보로 인증을 설정한 후에는 표준 Git 명령어를 사용하여 Cloud Source Repositories에서 호스트 저장소와 상호작용할 수 있습니다.