루트 사용자로 Linux VM에 연결


이 문서에서는 Linux 가상 머신(VM) 인스턴스에 루트 사용자로 연결하여 VM에 대한 수퍼유저 권한을 사용 설정하는 방법을 설명합니다. 기본적으로 공개 이미지로 빌드된 Compute Engine VM 및 대부분의 일반적인 운영체제에서는 SSH를 사용한 비밀번호가 포함된 루트 로그인을 허용하지 않습니다.

VM에 루트 사용자로 연결하는 대신 sudo를 통해 명령어를 실행할 수도 있습니다. 이 방법은 루트 로그인을 사용 설정하는 대신 사용하는 것이 좋습니다.

지원되는 운영체제

이러한 연결 방법은 Compute Engine에서 사용할 수 있는 모든 공개 Linux 이미지에 지원됩니다. Fedora CoreOS 이미지의 경우 이러한 방법을 사용하기 전에 SSH 액세스를 설정해야 합니다.

루트 로그인 사용 설정

기본적으로 Compute Engine VM에서는 /etc/ssh/sshd_config SSH 구성 파일에서 PermitRootLogin 매개변수를 prohibit-password 또는 no로 설정합니다. VM의 안내에 따라 루트 로그인을 사용 설정합니다.

OS 로그인 VM

다음을 수행하여 루트 로그인을 사용 설정합니다.

  1. SSH 키를 만듭니다. 나중을 위해 공개 SSH 키를 복사합니다.

  2. 평소와 같이 VM에 연결합니다.

  3. 다음 명령어를 실행하여 /etc/ssh/sshd_config 파일에서 PermitRootLogin noPermitRootLogin prohibit-password로 변경합니다.

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  4. 다음 명령어를 사용하여 /root/.ssh 디렉터리를 만듭니다.

    sudo mkdir /root/.ssh
    
  5. 다음 명령어를 실행하여 .ssh 디렉터리에 대한 권한을 설정합니다.

    sudo chmod 700 /root/.ssh
    
  6. 다음 명령어를 실행하여 authorized_keys 파일을 만듭니다.

    sudo touch /root/.ssh/authorized_keys
    
  7. 다음 명령어를 실행하여 authorized_keys 파일에 대한 권한을 설정합니다.

    sudo chmod 600 /root/.ssh/authorized_keys
    
  8. 공개 SSH 키를 /root/.ssh/authorized_keys 파일에 붙여넣습니다.

  9. VM을 다시 시작하거나 VM 운영체제에 대해 다시 시작 명령어를 실행하여 sshd 데몬을 다시 시작합니다. VM이 재부팅될 때까지 기다린 후 루트 사용자로 연결합니다.

비OS 로그인 VM

다음을 수행하여 루트 로그인을 사용 설정합니다.

  1. 평소와 같이 VM에 연결합니다.

  2. 다음 명령어를 실행하여 /etc/ssh/sshd_config 파일에서 PermitRootLogin noPermitRootLogin prohibit-password로 변경합니다.

    sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
    
  3. VM을 다시 시작하거나 VM 운영체제에 대해 다시 시작 명령어를 실행하여 sshd 데몬을 다시 시작합니다. VM이 재부팅될 때까지 기다린 후 루트 사용자로 연결합니다.

루트 사용자로 연결

루트 로그인을 사용 설정한 후에는 VM에 루트 사용자로 연결합니다. OS 로그인이 사용 설정된 VM에 연결하는 경우 gcloud CLI 대신 서드 파티 도구를 사용해야 합니다.

gcloud

참고: 연결 중인 VM에 OS 로그인이 사용 설정된 경우 타사 도구를 사용하여 루트 사용자로 연결해야 합니다.

VM 이름 앞에 지정된 root@와 함께 gcloud compute ssh 명령어를 사용하여 VM을 루트 사용자로 연결합니다.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 다음 명령어를 실행하여 VM에 연결합니다.

    gcloud compute ssh \
        --project=PROJECT_ID \
        --zone=ZONE \
        root@VM_NAME
    

    다음을 바꿉니다.

    • PROJECT_ID: VM이 포함된 프로젝트의 ID
    • ZONE: VM이 있는 영역의 이름
    • VM_NAME: VM의 이름

서드파티 도구

VM의 안내에 따라 루트 사용자로 VM에 연결합니다.

문제 해결

실패한 SSH 연결 진단 및 해결 방법을 찾으려면 SSH 문제 해결을 참조하세요.

다음 단계