SSH 키 만들기


이 문서에서는 Compute Engine 가상 머신(VM) 인스턴스의 SSH 키 쌍을 만드는 방법을 설명합니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

SSH 키 쌍 만들기

Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 VM에 연결하면 Compute Engine이 SSH 키를 자동으로 만듭니다. Compute Engine에서 키를 구성하고 저장하는 방법에 대한 자세한 내용은 SSH 연결 정보를 참조하세요.

타사 도구 또는 OpenSSH를 사용하여 VM에 연결하는 경우 VM에 키를 추가해야 연결할 수 있습니다. SSH 키가 없는 경우 하나 만들어야 합니다. VM은 sshd_config 파일에 나열된 키 형식을 허용합니다.

Linux 및 macOS

Linux 및 macOS 워크스테이션에서 ssh-keygen 유틸리티를 사용하여 새 SSH 키 쌍을 만듭니다. 다음 예시에서는 RSA 키 쌍을 만듭니다.

터미널을 열고 -C 플래그와 함께 ssh-keygen 명령어를 사용하여 새 SSH 키 쌍을 만듭니다.

ssh-keygen -t rsa -f ~/.ssh/KEY_FILENAME -C USERNAME -b 2048

다음을 바꿉니다.

  • KEY_FILENAME: SSH 키 파일의 이름입니다.

    예를 들어 파일 이름이 my-ssh-key이면 이름이 my-ssh-key인 비공개 키 파일을 생성하고 이름이 my-ssh-key.pub인 공개 키 파일을 생성합니다.

  • USERNAME: VM의 사용자 이름으로 바꿉니다. 예를 들면 cloudysanfrancisco 또는 cloudysanfrancisco_gmail_com입니다.

    Linux VM의 경우 루트 로그인을 허용하도록 VM을 구성하지 않으면 USERNAMEroot가 될 수 없습니다. 자세한 내용은 루트 사용자로 VM에 연결을 참조하세요.

    Active Directory(AD)를 사용하는 Windows VM의 경우 사용자 이름은 DOMAIN\ 형식으로 AD 도메인 앞에 추가되어야 합니다. 예를 들어 ad.example.com AD 내의 사용자 cloudysanfranciscoexample\cloudysanfranciscoUSERNAME입니다.

ssh-keygen은 비공개 키 파일을 ~/.ssh/KEY_FILENAME에 저장하고 공개 키 파일을 ~/.ssh/KEY_FILENAME.pub에 저장합니다.

사용자 cloudysanfrancisco의 공개 키는 다음과 비슷합니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 10 이상

Windows 버전 10 이상을 사용하는 워크스테이션에서 ssh-keygen 유틸리티를 사용하여 새 SSH 키 쌍을 만듭니다. 다음 예시에서는 RSA 키 쌍을 만듭니다.

명령어 프롬프트를 열고 -C 플래그와 함께 ssh-keygen 명령어를 사용하여 새 SSH 키 쌍을 만듭니다.

ssh-keygen -t rsa -f C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME -C USERNAME -b 2048

다음을 바꿉니다.

  • WINDOWS_USER: Windows 머신의 사용자 이름으로 바꿉니다.

  • KEY_FILENAME: SSH 키 파일의 이름입니다.

    예를 들어 파일 이름이 my-ssh-key이면 이름이 my-ssh-key인 비공개 키 파일을 생성하고 이름이 my-ssh-key.pub인 공개 키 파일을 생성합니다.

  • USERNAME: VM의 사용자 이름으로 바꿉니다. 예를 들면 cloudysanfrancisco 또는 cloudysanfrancisco_gmail_com입니다.

    Linux VM의 경우 루트 로그인을 허용하도록 VM을 구성하지 않으면 USERNAMEroot가 될 수 없습니다. 자세한 내용은 루트 사용자로 VM에 연결을 참조하세요.

    Active Directory(AD)를 사용하는 Windows VM의 경우 사용자 이름은 DOMAIN\ 형식으로 AD 도메인 앞에 추가되어야 합니다. 예를 들어 ad.example.com AD 내의 사용자 cloudysanfranciscoexample\cloudysanfranciscoUSERNAME입니다.

ssh-keygen은 비공개 키 파일을 C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME에 저장하고 공개 키 파일을 C:\Users\WINDOWS_USER\.ssh\KEY_FILENAME.pub에 저장합니다.

사용자 cloudysanfrancisco의 공개 키는 다음과 비슷합니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

Windows 8 이하

Windows 버전 8 이하를 사용하는 워크스테이션에서 PuTTYgen 도구를 사용하여 새 SSH 키 쌍을 만듭니다. 다음 예시에서는 RSA 키 쌍을 만듭니다.

  1. 아직 다운로드하지 않은 경우 puttygen.exe를 다운로드합니다.

  2. PuTTYgen을 엽니다.

  3. Parameters(매개변수)에서 다음을 지정합니다.

    • Type of key to generate(생성할 키 유형): RSA
    • Number of bits in a generated key(생성된 키의 비트 수): 2048 이상
  4. Generate(생성)를 클릭하고 화면의 안내를 따릅니다.

    도구에 공개 키 값이 표시됩니다.

  5. Key comment(키 설명) 섹션에서 미리 채워진 텍스트를 사용자 이름으로 바꿉니다. 예를 들면 cloudysanfrancisco 또는 cloudysanfrancisco_gmail_com입니다.

    Linux VM의 경우 루트 로그인을 허용하도록 VM을 구성하지 않으면 Key comment(키 설명)root일 수 없습니다. 자세한 내용은 루트 사용자로 VM에 연결을 참조하세요.

    Active Directory(AD)를 사용하는 Windows VM의 경우 Key comment(키 설명)DOMAIN\ 형식으로 AD 도메인 앞에 추가되어야 합니다. 예를 들어 ad.example.com AD 내의 사용자 cloudysanfranciscoexample\cloudysanfranciscoKey comment(키 설명)를 가집니다.

  6. 선택사항: Key passphrase(키 암호)를 입력하여 키를 비밀번호로 보호합니다.

  7. Save private key(비공개 키 저장)를 클릭하여 비공개 키를 저장할 위치를 선택합니다.

    PuTTYgen이 비공개 키를 확장자가 .ppk인 파일에 기록합니다.

  8. Save public key(공개 키 저장)를 클릭하여 공개 키를 저장할 위치를 선택합니다. PuTTYgen 창을 연 상태로 둡니다.

  9. Public key for pasting into OpenSSH authorized_keys file(OpenSSH authorized_keys 파일에 붙여넣기 위한 공개 키) 필드의 텍스트를 복사합니다.

  10. 공개 키 파일을 엽니다. 공개 키의 형식은 다음과 유사합니다.

    ---- BEGIN SSH2 PUBLIC KEY ----
    Comment: "USERNAME"
    KEY_VALUE
    ---- END SSH2 PUBLIC KEY ----
    
  11. 공개 키 파일이 다음 형식과 일치하도록 공개 키 파일의 전체 콘텐츠를 Public key for pasting into OpenSSH authorized_keys file(OpenSSH authorized_keys 파일에 붙여넣기 위한 공개 키) 필드에서 복사한 값으로 바꿉니다.

    KEY_VALUE USERNAME
    

사용자 cloudysanfrancisco의 공개 키는 다음과 비슷합니다.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... cloudysanfrancisco

다음 단계