이 문서에서는 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의 안내에 따라 루트 로그인을 사용 설정합니다.
다음을 수행하여 루트 로그인을 사용 설정합니다.
SSH 키를 만듭니다. 나중을 위해 공개 SSH 키를 복사합니다.
평소와 같이 VM에 연결합니다.
다음 명령어를 실행하여
/etc/ssh/sshd_config
파일에서PermitRootLogin no
를PermitRootLogin prohibit-password
로 변경합니다.sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
다음 명령어를 사용하여
/root/.ssh
디렉터리를 만듭니다.sudo mkdir /root/.ssh
다음 명령어를 실행하여
.ssh
디렉터리에 대한 권한을 설정합니다.sudo chmod 700 /root/.ssh
다음 명령어를 실행하여
authorized_keys
파일을 만듭니다.sudo touch /root/.ssh/authorized_keys
다음 명령어를 실행하여
authorized_keys
파일에 대한 권한을 설정합니다.sudo chmod 600 /root/.ssh/authorized_keys
공개 SSH 키를
/root/.ssh/authorized_keys
파일에 붙여넣습니다.VM을 다시 시작하거나 VM 운영체제에 대해 다시 시작 명령어를 실행하여
sshd
데몬을 다시 시작합니다. VM이 재부팅될 때까지 기다린 후 루트 사용자로 연결합니다.
다음을 수행하여 루트 로그인을 사용 설정합니다.
평소와 같이 VM에 연결합니다.
다음 명령어를 실행하여
/etc/ssh/sshd_config
파일에서PermitRootLogin no
를PermitRootLogin prohibit-password
로 변경합니다.sudo sed -i 's/PermitRootLogin no/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
VM을 다시 시작하거나 VM 운영체제에 대해 다시 시작 명령어를 실행하여
sshd
데몬을 다시 시작합니다. VM이 재부팅될 때까지 기다린 후 루트 사용자로 연결합니다.
루트 사용자로 연결
루트 로그인을 사용 설정한 후에는 VM에 루트 사용자로 연결합니다. OS 로그인이 사용 설정된 VM에 연결하는 경우 gcloud CLI 대신 서드 파티 도구를 사용해야 합니다.
참고: 연결 중인 VM에 OS 로그인이 사용 설정된 경우 타사 도구를 사용하여 루트 사용자로 연결해야 합니다.
VM 이름 앞에 지정된 root@
와 함께 gcloud compute ssh
명령어를 사용하여 VM을 루트 사용자로 연결합니다.
-
In the Google Cloud console, 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.
다음 명령어를 실행하여 VM에 연결합니다.
gcloud compute ssh \ --project=
PROJECT_ID \ --zone=ZONE \ root@VM_NAME 다음을 바꿉니다.
PROJECT_ID
: VM이 포함된 프로젝트의 IDZONE
: VM이 있는 영역의 이름VM_NAME
: VM의 이름
VM의 안내에 따라 루트 사용자로 VM에 연결합니다.
OS 로그인 VM
타사 도구를 사용하여 연결하고 다음을 지정합니다.
- 비공개 키:
authorized_keys
파일에 추가한 공개 키에 해당하는 비공개 키입니다. - 사용자 이름: 사용자 이름은
root
여야 합니다.
- 비공개 키:
비OS 로그인 VM
루트 사용자의 SSH 키를 만듭니다. 키의 사용자 이름은
root
여야 합니다.타사 도구를 사용하여 연결하고 다음을 지정합니다.
비공개 키: 루트 사용자의 비공개 키입니다.
사용자 이름: 사용자 이름은
root
여야 합니다.
문제 해결
실패한 SSH 연결 진단 및 해결 방법을 찾으려면 SSH 문제 해결을 참조하세요.
다음 단계
- VM 액세스 관리 방법 알아보기
- VM으로 파일을 전송하는 방법 알아보기
- Compute Engine에서 Linux VM에 대한 SSH 연결 작동 방식 알아보기