root ユーザーとして Linux VM に接続する


このドキュメントでは、root ユーザーとして Linux 仮想マシン(VM)インスタンスに接続する方法について説明します。これにより、VM でスーパーユーザー権限が有効になります。デフォルトでは、Compute Engine VM は公開イメージからビルドされ、一般的なオペレーティング システムではパスワードを使用した SSH 経由の root ログインが許可されません。

root ユーザーとして VM に接続する代わりに、root ログインを有効にするのではなく、sudo を使用してコマンドを実行することをおすすめしています。

サポートされているオペレーティング システム

これらの接続方法は、Compute Engine で利用可能なすべての公開 Linux イメージでサポートされています。Fedora CoreOS イメージの場合、これらの方法を使用する前に、SSH アクセスを設定する必要があります。

root ログインを有効にする

デフォルトでは、Compute Engine VM は、/etc/ssh/sshd_config SSH 構成ファイルで PermitRootLogin パラメータを prohibit-password または no に設定します。VM の手順に沿って、root ログインを有効にします。

OS Login VM

次の手順で root ログインを有効にします。

  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 が再起動するのを待ってから、root ユーザーとして接続します。

非 OS Login VM

次の手順で root ログインを有効にします。

  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 が再起動するのを待ってから、root ユーザーとして接続します。

root ユーザーとして接続する

root ログインを有効にしたら、root ユーザーとして VM に接続します。 OS Login が有効になっている VM に接続する場合は、gcloud CLI ではなく、サードパーティのツールを使用する必要があります。

gcloud

注: 接続先の VM で OS Login が有効になっている場合は、サードパーティ製ツールを使用して root ユーザーとして接続する必要があります。

VM 名の前に root@ を指定して gcloud compute ssh コマンドを使用し、root ユーザーとして VM に接続します。

  1. Google Cloud コンソールで、「Cloud Shell をアクティブにする」をクリックします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. 次のコマンドを実行して VM に接続します。

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

    次のように置き換えます。

    • PROJECT_ID: VM が含まれているプロジェクトの ID
    • ZONE: VM が存在するゾーンの名前
    • VM_NAME: VM の名前

サードパーティ製ツール

お使いの VM の手順に沿って、root ユーザーとして VM に接続します。

トラブルシューティング

失敗した SSH 接続を診断し、解決するための方法については、SSH のトラブルシューティングをご覧ください。

次のステップ