HOWTO · Raspberry Pi
在树莓派上以 root 用户身份登录
了解如何使用 Raspberry Pi OS 的 root 访问权限、设置可选的 root 密码,并做出更安全的 SSH 选择。
本页内容
在 Raspberry Pi OS 上执行管理操作时,请使用具有相应权限的帐户运行 sudo。若要临时进入交互式 root shell,请运行 sudo -i;这不需要启用 root 密码。帐户名称、初始凭据和 sudo 权限取决于 OS 版本以及设备的设置方式,因此不要假定每次安装都会有 pi 帐户或统一的默认密码。
了解 Raspberry Pi OS 上的 root 访问权限
root 帐户可以修改系统范围的文件和设置。在 root shell 中运行的每条命令都会拥有这些权限,因此只在任务需要时使用,并在完成后退出。若只需执行一条管理命令,可在命令前加上 sudo;若要连续执行多条命令,进入交互式 shell 可能更方便。
某些安装会在设置过程中创建管理员帐户并授予其 sudo 权限。该帐户可能名为 pi,也可能使用其他名称。运行 id -un 可查看当前使用的帐户:
id -un
root
该命令会显示当前帐户名称。在此示例使用的执行环境中,观察到的输出是 root;在你的 Pi 上,它会显示你当前使用的帐户。如果 sudo 提示该帐户无权使用它,请登录管理员帐户,或使用适用于该设备安装方式的恢复流程;切换到 root 并不会让原本没有 sudo 权限的帐户获得权限。
从 pi 帐户打开 root shell
如果你以 pi 身份登录,且该帐户拥有 sudo 权限,可以运行以下命令打开 root 登录 shell:
sudo -i
如果系统提示,请输入当前帐户的密码。shell 提示符可能会改变,但其格式因环境而异;运行 id -un 可确认当前帐户。在此 shell 中运行的命令都拥有 root 权限。输入 exit 或按 Ctrl+D 可返回原帐户。你也可以用 sudo command 执行单条管理命令,并将 command 替换为所需命令。
为 root 帐户设置密码
单独设置 root 密码是可选的,使用 sudo 管理系统并不需要它。如果你有明确理由启用基于密码的 root 访问,并且当前帐户拥有 sudo 权限,可以交互式设置密码:
sudo passwd root
按照提示输入并确认新密码。这会更改 root 帐户的密码,不会更改当前帐户的密码。之后,运行 su - 并输入该 root 密码,即可打开 root 登录 shell。输入 exit 或按 Ctrl+D 可退出。请妥善保管密码;若任务允许,优先使用 sudo,这样管理员可以使用各自的帐户,操作也能追溯到相应人员。
配置 root 的 SSH 访问
通过 SSH 直接以 root 身份登录,会让远程连接获得对设备的广泛控制权限。日常管理更安全的做法是使用普通帐户连接,再通过 sudo 运行所需命令。这也可以避免启用基于密码的 root 登录。
如果确实需要远程 root 登录,请先检查设备实际生效的 SSH 服务器配置和身份验证策略,再决定是否更改。PermitRootLogin prohibit-password 会禁用 root 的密码和键盘交互式身份验证。根据实际生效的 SSH 配置,其他身份验证方式仍可能可用。请参阅 OpenSSH 官方 PermitRootLogin 的 sshd_config 文档。不要把该指令改为 yes 当作通用解决办法。仅使用密钥登录时,仍需妥善保护私钥,并为 root 配置正确的公钥;SSH 配置还可能包含会影响结果的其他文件或规则。实施计划中的配置更改时,请保持现有管理员会话开启,并在关闭它之前验证另一个独立连接。不同安装的服务名称和重启流程可能有所不同。