SSH 연결 정보


Compute Engine은 키 기반 SSH 인증을 사용하여 모든 Linux 가상 머신(VM) 인스턴스에 대한 연결을 설정합니다. 선택적으로 Windows VM용 SSH를 사용 설정할 수 있습니다. 기본적으로 Linux VM의 로컬 사용자에 대한 비밀번호는 구성되지 않습니다.

VM에 연결하려면 먼저 여러 가지 구성을 수행해야 합니다. Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 VM에 연결하는 경우 Compute Engine은 이러한 구성을 자동으로 수행합니다. Compute Engine은 연결에 사용할 도구와 메타데이터 또는 OS 로그인 중 무엇을 사용하여 VM 액세스를 관리하는지 여부에 따라 서로 다른 구성을 수행합니다. OS 로그인은 Linux VM에서만 사용할 수 있습니다.

메타데이터 관리 SSH 연결

기본적으로Compute Engine은 커스텀 프로젝트 또는 인스턴스 메타데이터를 사용하여 SSH 키를 구성하고 SSH 액세스를 관리합니다. 모든 Windows VM은 메타데이터를 사용하여 SSH 키를 관리하는 반면 Linux VM은 메타데이터 키나 OS 로그인을 사용할 수 있습니다. OS 로그인을 사용하면 메타데이터 SSH 키가 중지됩니다.

각 탭을 클릭하여 Google Cloud Console, gcloud CLI 또는 타사 도구를 사용하여 VM에 연결할 때 Compute Engine에서 SSH 연결을 부여하기 전에 수행하는 구성에 대해 자세히 알아보세요. Google Cloud Console 또는 gcloud CLI를 사용하지 않고 VM에 연결하는 경우에는 일부 구성을 직접 수행해야 합니다.

콘솔

  1. Google Cloud Console의 SSH 버튼을 사용하여 VM에 연결합니다.
  2. Compute Engine은 다음 구성을 사용하여 사용자 이름을 설정하고 임시 SSH 키 쌍을 만듭니다.
    • 사용자 이름은 Google 계정의 사용자 이름으로 설정됩니다. 예를 들어 Google 계정과 연결된 이메일 주소가 cloudysanfrancisco@gmail.com이면 사용자 이름은 cloudysanfrancisco입니다.
    • 공개 및 비공개 SSH 키는 브라우저 세션에 저장됩니다.
    • SSH 키는 5분 후에 만료됩니다. Compute Engine에서 키를 만든 후 5분이 지나면 더 이상 이 SSH 키를 사용하여 VM에 연결할 수 없습니다.
  3. Compute Engine은 공개 SSH 키와 사용자 이름을 메타데이터에 업로드합니다.
  4. Compute Engine에서는 메타데이터에서 SSH 키와 사용자 이름을 가져와 Linux VM의 해당 사용자 이름을 사용하여 사용자 계정을 만들며 VM에 있는 사용자의 ~/.ssh/authorized_keys 파일에 공개 키를 저장합니다. Windows VM에서 Compute Engine은 VM에 공개 키를 저장하지 않습니다.
  5. Compute Engine에서 연결을 부여합니다.

gcloud

  1. gcloud compute ssh 명령어를 사용하여 VM에 연결합니다.
  2. Compute Engine은 다음 구성을 사용하여 사용자 이름을 설정하고 영구 SSH 키 쌍을 만듭니다.
    • 사용자 이름은 로컬 머신의 사용자 이름으로 설정됩니다.
    • 공개 SSH 키는 프로젝트 메타데이터에 저장됩니다. Compute Engine이 프로젝트 메타데이터에 SSH 키를 저장할 수 없는 경우(예: block-project-ssh-keysTRUE로 설정된 경우) Compute Engine은 SSH 키를 인스턴스 메타데이터에 저장합니다.
    • 비공개 SSH 키는 로컬 머신에 저장됩니다.
    • SSH 키에는 만료 시간이 없습니다. 새 키를 구성하지 않는 한 이 키는 이후의 모든 SSH 연결에 사용됩니다.
  3. Compute Engine은 공개 SSH 키와 사용자 이름을 메타데이터에 업로드합니다.
  4. Compute Engine에서는 메타데이터에서 SSH 키와 사용자 이름을 가져와 Linux VM의 해당 사용자 이름을 사용하여 사용자 계정을 만들며 VM에 있는 사용자의 ~/.ssh/authorized_keys 파일에 공개 키를 저장합니다. Windows VM에서 Compute Engine은 VM에 공개 키를 저장하지 않습니다.
  5. Compute Engine에서 연결을 부여합니다.

타사 도구

  1. SSH 키 쌍 및 사용자 이름을 만듭니다. 자세한 내용은 SSH 키 만들기를 참조하세요.
  2. 공개 키와 사용자 이름을 메타데이터에 업로드합니다. 자세한 내용은 메타데이터 기반 SSH 키를 사용하는 VM에 SSH 키 추가를 참조하세요.
  3. VM에 연결합니다.
  4. Compute Engine에서는 메타데이터에서 SSH 키와 사용자 이름을 가져와 Linux VM의 해당 사용자 이름을 사용하여 사용자 계정을 만들며 VM에 있는 사용자의 ~/.ssh/authorized_keys 파일에 공개 키를 저장합니다. Windows VM에서 Compute Engine은 VM에 공개 키를 저장하지 않습니다.
  5. Compute Engine에서 연결을 부여합니다.

OS 로그인 관리 SSH 연결

OS 로그인 메타데이터를 설정하면 Compute Engine이 VM의 authorized_keys 파일을 삭제하고 프로젝트 또는 인스턴스 메타데이터에 저장된 SSH 키의 연결을 더 이상 허용하지 않습니다.

각 탭을 클릭하여 Google Cloud Console, gcloud CLI 또는 타사 도구를 사용하여 VM에 연결할 때 Compute Engine에서 SSH 연결을 부여하기 전에 수행하는 구성에 대해 자세히 알아보세요. Google Cloud Console 또는 gcloud CLI를 사용하지 않고 VM에 연결하는 경우에는 일부 구성을 직접 수행해야 합니다.

콘솔

  1. Google Cloud Console의 SSH 버튼을 사용하여 VM에 연결합니다.
  2. Compute Engine은 다음 구성을 사용하여 사용자 이름을 설정하고 임시 SSH 키 쌍을 만듭니다.
    • 사용자 이름은 조직의 Cloud ID 또는 Google Workspace 관리자가 설정한 사용자 이름입니다. 조직에서 사용자 이름을 구성하지 않았거나 조직에 속하지 않은 프로젝트라면 Compute Engine에서 Google 계정 이메일을 다음과 같은 형식으로 사용합니다.

      USERNAME_DOMAIN_SUFFIX
      예를 들어 Google 계정에 연결된 이메일이 cloudysanfrancisco@gmail.com이면 cloudysanfrancisco_gmail_com과 같은 사용자 이름이 생성됩니다.

    • 공개 SSH 키는 브라우저 세션 및 Google 계정에 저장됩니다.
    • 비공개 SSH 키는 브라우저 세션에 저장됩니다.
    • SSH 키는 3분 후에 만료됩니다. Compute Engine에서 키를 만든 후 3분이 지나면 더 이상 이 SSH 키를 사용하여 VM에 연결할 수 없습니다.
  3. Compute Engine은 NSS 서비스 모듈을 사용하여 VM의 OS 로그인 계정에 제공된 사용자 이름을 확인합니다.
  4. Compute Engine은 AuthorizedKeysCommand를 사용하여 IAM 승인을 수행하여 연결에 필요한 권한이 있는지 확인합니다.
  5. AuthorizedKeysCommand는 사용자 계정에서 SSH 키를 가져와 VM의 OpenSSH에 제공합니다.
  6. Compute Engine에서 연결을 부여합니다.

gcloud

  1. gcloud compute ssh 명령어를 사용하여 VM에 연결합니다.
  2. Compute Engine은 다음 구성을 사용하여 사용자 이름을 설정하고 영구 SSH 키 쌍을 만듭니다.
    • 사용자 이름은 조직의 Cloud ID 또는 Google Workspace 관리자가 설정한 사용자 이름입니다. 조직에서 사용자 이름을 구성하지 않은 경우 Compute Engine에서 Google 계정 이메일을 다음과 같은 형식으로 사용합니다.

      USERNAME_DOMAIN_SUFFIX
      예를 들어 Google 계정에 연결된 이메일이 cloudysanfrancisco@gmail.com이면 cloudysanfrancisco_gmail_com과 같은 사용자 이름이 생성됩니다.

    • 공개 SSH 키는 Google 계정에 저장됩니다.
    • 비공개 SSH 키는 로컬 머신에 google_compute_engine 파일로 저장됩니다.
    • SSH 키에는 만료 시간이 없습니다. 새 키를 구성하지 않는 한 이 키는 이후의 모든 SSH 연결에 사용됩니다.
  3. Compute Engine은 NSS 서비스 모듈을 사용하여 VM의 OS 로그인 계정에 제공된 사용자 이름을 확인합니다.
  4. Compute Engine은 AuthorizedKeysCommand를 사용하여 IAM 승인을 수행하여 연결에 필요한 권한이 있는지 확인합니다.
  5. AuthorizedKeysCommand는 사용자 계정에서 SSH 키를 가져와 VM의 OpenSSH에 제공합니다.
  6. Compute Engine에서 연결을 부여합니다.

타사 도구

  1. SSH 키 쌍을 만듭니다. 자세한 내용은 SSH 키 만들기를 참조하세요.
  2. 공개 SSH 키를 OS 로그인 프로필에 업로드합니다. 자세한 내용은 OS 로그인을 사용하는 VM에 키 추가를 참조하세요.
    • Compute Engine은 Google 계정에 키를 저장합니다.
    • Compute Engine에서 사용자 이름을 기본 형식으로 구성합니다.
          USERNAME_DOMAIN_SUFFIX
      예를 들어 Google 계정에 연결된 이메일이 cloudysanfrancisco@gmail.com이면 cloudysanfrancisco_gmail_com과 같은 사용자 이름이 생성됩니다.
  3. 원하는 경우 Google Workspace Admin SDK Directory API를 사용해 사용자 이름을 설정합니다.
  4. VM에 연결합니다.
  5. Compute Engine은 NSS 서비스 모듈을 사용하여 VM의 OS 로그인 계정에 제공된 사용자 이름을 확인합니다.
  6. Compute Engine은 AuthorizedKeysCommand를 사용하여 IAM 승인을 수행하여 연결에 필요한 권한이 있는지 확인합니다.
  7. AuthorizedKeysCommand는 사용자 계정에서 SSH 키를 가져와 VM의 OpenSSH에 제공합니다.
  8. Compute Engine에서 연결을 부여합니다.

다음 단계