由于缺少 zsh,无法以 root 或用户身份登录

由于缺少 zsh,无法以 root 或用户身份登录

我在 Raspberry Pi 上安装了 zsh,由于各种原因(包括 shell 完全变慢了),我决定删除它。我卸载了该软件包,将 shell 改回 /bin/bash,并假设一切都会正常。但是,卸载它似乎出现了问题。

当我尝试通过 SSH 重新登录 pi 时,看到以下内容:

Welcome to KRATOS
Permission denied (publickey).

我知道公钥没有问题,因为它过去一直有效,所以我将 pi 连接到显示器上,以查看它唤醒时的日志。它按预期运行所有操作,然后当我尝试使用用户名和密码登录时pi,它先让我登录,然后显示错误并继续将我注销。

Cannot execute /usr/bin/zsh: No such file or directory

当我尝试以 身份登录时也发生同样的情况root

我是否已经完全把自己锁在系统之外了?还是有办法重新进入?最坏的情况是,我可以尝试将文件系统安装到另一台笔记本电脑上,然后从那里更改配置?

答案1

我猜想 root 用户的默认 shell 是/usr/bin/zsh 这是在/etc/passwd 您在该系统上是否有另一个具有另一个默认 shell 的帐户? 中配置的。如果是这样,如果您已经配置了 sudo,也许可以/etc/passwd使用 sudo 编辑文件并将默认 shell 更改为/bin/sh/bin/bash

否则,您必须从可启动的 USB 驱动器挂载文件系统/磁盘或进行网络启动,或者从另一台设备挂载它并以此方式进行修复。

答案2

如果您首先执行 sudo apt-get update && sudo apt-get upgrade (这将为您提供 root 的临时权限,即使出现之前的错误)

然后执行 sudo nano /etc/passwd 并将 root 的默认值从 /usr/bin/zsh 更改为 /bin/sh 或 /bin/bash 即可。(这样做就解决了。感谢 Mark van Herpen 的帮助)

相关内容