HOWTO · Raspberry Pi
Raspberry Pi に root ユーザーとしてログインする
Raspberry Pi OSでrootアクセスを使う方法、任意のrootパスワードを設定する方法、より安全なSSHの選択方法を学びます。
このページの内容
Raspberry Pi OSを管理するには、sudoの使用が許可されたアカウントから sudo を使います。一時的に対話型のrootシェルを開くには sudo -i を実行します。rootパスワードを有効にする必要はありません。アカウント名、初期認証情報、sudoの権限は、OSのリリースやデバイスのセットアップ方法によって異なります。すべてのインストールに pi アカウントがある、または共通の初期パスワードが設定されているとは限りません。
Raspberry Pi OSでrootアクセスを理解する
root アカウントには、システム全体のファイルや設定を変更する権限があります。rootシェルでは、入力したすべてのコマンドがその権限で実行されるため、必要な作業に限って使い、終わったらシェルを終了してください。管理者権限が必要なコマンドが1つだけなら、先頭に sudo を付けます。複数のコマンドを続けて実行する場合は、対話型シェルのほうが便利なことがあります。
インストールによっては、セットアップ時に管理者アカウントが作成され、sudoの権限が付与されます。アカウント名は pi の場合も、別の名前の場合もあります。id -un を使うと、現在使用しているアカウントを確認できます。
id -un
root
このコマンドは現在のアカウント名を表示します。この例で使用された実行環境で観測された出力は root でした。ご自身のRaspberry Piでは、実際に現在使用しているアカウント名が表示されます。sudo を使う権限がないというメッセージが表示された場合は、管理者アカウントでサインインするか、そのインストール環境に応じた復旧手順を使ってください。root に切り替えても、sudoの権限がないアカウントに権限が付与されるわけではありません。
piアカウントからrootシェルを開く
pi でサインインしており、そのアカウントにsudoの権限がある場合は、次のコマンドでrootのログインシェルを開けます。
sudo -i
求められた場合は、現在のアカウントのパスワードを入力します。シェルのプロンプトは変わることがありますが、表示形式は環境によって異なります。id -un を使って、現在のアカウントを確認してください。このシェルで実行するコマンドにはroot権限が適用されます。exit と入力するか、Ctrl+D を押すと、元のアカウントに戻ります。管理者権限が必要なコマンドを1つだけ実行するには、sudo command の command を実行したいコマンドに置き換えて使うこともできます。
rootアカウントのパスワードを設定する
rootパスワードは任意であり、sudoを使った管理には必要ありません。パスワードによるrootアクセスを有効にする明確な理由があり、現在のアカウントにsudoの権限がある場合は、次のコマンドを対話形式で実行して設定します。
sudo passwd root
プロンプトに従って、新しいパスワードを入力し、確認します。この操作で変更されるのはrootアカウントのパスワードで、現在のアカウントのパスワードは変わりません。設定後は su - を実行すると、rootパスワードを求められ、rootのログインシェルを開けます。exit と入力するか、Ctrl+D を押して終了してください。パスワードは他人に知らせず、目的を満たせる場合は sudo を使いましょう。各管理者が自分のアカウントを使うことで、操作を誰が行ったか追跡しやすくなります。
rootのSSHアクセスを設定する
SSH経由でrootとして直接ログインできると、リモート接続からデバイスを広範囲に操作できてしまいます。通常の管理作業では、一般ユーザーのアカウントで接続し、必要なコマンドに sudo を使う方法がより安全です。この方法なら、パスワードによるrootログインを有効にせずに済みます。
リモートからrootでのログインが明確に必要な場合は、変更を加える前に、ご使用の環境で有効になっているSSHサーバー設定と認証ポリシーを確認してください。PermitRootLogin prohibit-password は、rootに対するパスワード認証とキーボード対話型認証を無効にします。有効なSSH設定によっては、ほかの認証方法が使える場合があります。詳しくは、公式のOpenSSH sshd_config における PermitRootLogin のドキュメントを参照してください。このディレクティブを一般的な対処として yes に変更しないでください。鍵のみを使う設定でも、秘密鍵を安全に保管し、root用の正しい公開鍵を設定する必要があります。また、SSHの設定には結果に影響する追加ファイルやルールが含まれる場合があります。設定変更を適用するときは、既存の管理セッションを開いたままにし、閉じる前に別の接続で確認してください。サービス名や再起動手順はインストール環境によって異なることがあります。