OS 로그인 인증서를 지원하는 VM은 SSH 키 및 SSH 인증서의 연결을 지원합니다. SSH 인증서는 다른 신뢰할 수 있는 키(이 경우 OS 로그인에서 관리하는 인증 기관)로 서명된 SSH 키입니다. 이 문서에서는 SSH 연결에 SSH 인증서가 필요하고 서명되지 않은 SSH 키의 연결을 차단하도록 OS 로그인 VM을 설정하는 방법을 설명합니다.
VM에 연결할 때 SSH 인증서가 필요하도록 OS 로그인을 설정하면 인증 기관에서 서명한 SSH 인증서만 VM에 연결할 수 있습니다. 서명되지 않은 SSH 키의 연결은 거부됩니다. SSH 인증서는 5분 후에 만료되며, 만료된 후에는 더 이상 VM에 연결하는 데 사용할 수 없으므로 새 인증서를 생성해야 합니다.
악성 사용자를 방지하기 위한 추가 보안 계층으로 SSH 연결에 SSH 인증서를 요구하도록 OS 로그인을 설정하는 것이 좋습니다. SSH 인증서는 수명이 짧고 특정 VM에만 유효하므로 보안이 침해되더라도 공격에 취약한 부분이 훨씬 작고 공격 기간이 수명이 긴 SSH 키보다 훨씬 짧습니다.
조직에서 직원 ID 제휴를 사용하는 경우 OS 로그인과 함께 직원 ID 제휴 사용을 참고하여 조직의 SSH 인증서를 사용 설정하는 방법을 알아보세요.
시작하기 전에
- OS 로그인 설정 및 OS 로그인 IAM 역할 할당
-
아직 설정하지 않았다면 인증을 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
- Set a default region and zone.
제한사항
- SSH 인증서를 사용하려면 연결하려는 VM에 OpenSSH 버전 7.4 이상이 있어야 합니다.
SSH 인증서 필요
프로젝트의 OS 로그인 VM 또는 단일 VM에 대한 모든 SSH 연결에 SSH 인증서가 필요하도록 OS 로그인을 설정할 수 있습니다. SSH 인증서가 필요하도록 OS 로그인을 설정하면 Google Cloud 콘솔 및 gcloud CLI의 SSH 연결에서 기본적으로 SSH 인증서를 사용합니다. 인증서가 필요하도록 OS 로그인을 설정하지는 않지만 인증서를 사용하여 VM에 연결하려면 SSH 인증서를 사용하여 VM에 연결 섹션에 설명된 대로 서드 파티 도구를 사용하여 연결해야 합니다.
프로젝트의 모든 OS 로그인 사용 VM에 SSH 인증서 요구
프로젝트에서 OS 로그인을 사용하는 모든 VM에 대한 모든 연결에 SSH 인증서를 요구하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용하세요.
콘솔
OS 로그인 사용 VM에 대한 모든 연결에 SSH 인증서를 요구하려면 Google Cloud 콘솔을 사용하여 프로젝트 메타데이터에서
enable-oslogin
및enable-oslogin-certificates
를TRUE
로 설정하세요.메타데이터 페이지로 이동합니다.
수정을 클릭합니다.
항목 추가를 클릭합니다.
- 키 필드에
enable-oslogin
을 입력합니다. - 값 필드에
TRUE
를 입력합니다.
- 키 필드에
항목 추가를 클릭합니다.
- 키 필드에
enable-oslogin-certificates
을 입력합니다. - 값 필드에
TRUE
를 입력합니다.
- 키 필드에
저장을 클릭합니다.
gcloud
OS 로그인 사용 VM에 대한 모든 연결에 SSH 인증서를 요구하려면
gcloud compute project-info add-metadata
명령어를 사용하여 프로젝트 메타데이터에enable-oslogin=TRUE
및enable-oslogin-certificates=TRUE
를 설정하세요.gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
단일 OS 로그인 사용 VM에 SSH 인증서 필요
OS 로그인을 사용하는 단일 VM에 대한 모든 SSH 연결에 인증서를 요구하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용하세요.
콘솔
단일 VM에 대한 모든 연결에 SSH 인증서를 요구하려면Google Cloud 콘솔을 사용하여 인스턴스 메타데이터에서
enable-oslogin
및enable-oslogin-certificates
를TRUE
로 설정합니다.VM 인스턴스 페이지로 이동합니다.
SSH 인증서가 필요한 VM의 이름을 클릭합니다.
수정을 클릭합니다.
메타데이터 섹션에서 항목 추가를 클릭합니다.
- 키 필드에
enable-oslogin
을 입력합니다. - 값 필드에
TRUE
를 입력합니다.
- 키 필드에
항목 추가를 클릭합니다.
- 키 필드에
enable-oslogin-certificates
을 입력합니다. - 값 필드에
TRUE
를 입력합니다.
- 키 필드에
저장을 클릭합니다.
gcloud
단일 VM에 대한 모든 연결에 SSH 인증서를 요구하려면
gcloud compute instances add-metadata
명령어를 사용하여 인스턴스 메타데이터에enable-oslogin=TRUE
및enable-oslogin-certificates=TRUE
를 설정합니다.gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-certificates=TRUE
VM_NAME
을 VM 이름으로 바꿉니다.SSH 인증서를 사용하여 VM에 연결
SSH 인증서가 필요하도록 OS 로그인을 설정하면 Google Cloud 콘솔 및 gcloud CLI의 SSH 연결에서 기본적으로 SSH 인증서를 사용합니다. 인증서가 필요한 OS 로그인을 설정하지 않으면서 인증서를 사용하여 VM에 연결하려면 서드 파티 도구를 사용하여 연결해야 합니다.
콘솔
Google Cloud 콘솔에서 브라우저에서 SSH를 통해 연결을 사용해 VM에 연결하려면 다음 단계를 따르세요.
- In the Google Cloud console, go to the VM instances page.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
gcloud
gcloud beta compute ssh
명령어를 사용하여 인증서를 통해 VM에 연결합니다.gcloud beta compute ssh VM_NAME
VM_NAME
을 연결하려는 VM의 이름으로 바꿉니다.타사 도구
서드 파티 SSH 클라이언트에서 SSH 인증서를 사용하려면 다음 단계를 따르세요.
SSH 키가 없는 경우 SSH 키를 만듭니다.
projects.locations.signSshPublicKey
메서드를 사용하여 공개 SSH 키에 서명합니다.POST https://oslogin.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" "compute_instance": "COMPUTE_INSTANCE", "service_account": "SERVICE_ACCOUNT" }
다음을 바꿉니다.
PROJECT_ID
: 연결할 VM이 포함된 프로젝트의 프로젝트 IDLOCATION
: 연결할 VM이 있는 리전PUBLIC_KEY
: SSH 공개 키 파일의 콘텐츠입니다.COMPUTE_INSTANCE
: 연결할 Compute Engine 인스턴스입니다(projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID
형식).SERVICE_ACCOUNT
: 인스턴스에 연결된 서비스 계정입니다. 인스턴스에 연결된 서비스 계정이 없으면 이 필드를 삭제합니다.
projects.locations.signSshPublicKey
메서드의 출력에서 SSH 인증서를 복사하고 콘텐츠를 새 파일에 저장합니다.다음 명령어를 실행하여 SSH 인증서 파일에 대한 권한을 설정합니다.
sudo chmod 600 FILE_NAME
FILE_NAME
을 파일 이름으로 바꿉니다.다음 명령어를 사용하여 VM에 연결합니다.
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
다음을 바꿉니다.
PATH_TO_PRIVATE_KEY
: 비공개 SSH 키 파일 경로입니다.PATH_TO_SSH_CERTIFICATE
: SSH 인증서 파일 경로입니다.USERNAME
: OS 로그인 사용자 이름EXTERNAL_IP
: VM의 외부 IP 주소
문제 해결
SSH 인증서가 필요하도록 설정한 VM에 연결할 수 없는 경우 다음이 원인일 수 있습니다.
- VM에서 지원되지 않는 버전의 OpenSSH를 사용하고 있습니다. 이 문제를 해결하려면 인스턴스 메타데이터에서
enable-oslogin-certificates
를FALSE
로 설정하여 VM의 메타데이터에서 인증서를 사용 중지합니다.
다음 단계
- OS 로그인 자세히 알아보기
- 2단계 인증을 사용하여 OS 로그인을 설정하는 방법 알아보기
- 조직의 OS 로그인 관리 방법 알아보기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-04(UTC)
-