如何将 systemd 分配给 PID1

如何将 systemd 分配给 PID1

我正在尝试在 virtualbox 上构建 kalilinux 环境,并使用 ssh 的公钥身份验证从主机连接到它。但是,在编辑以启用公钥身份验证后,在使用命令反映编辑/etc/ssh/sshd_config时出现以下错误。sytemctl restart ssh

System has not been booted with systemd as init system (PID 1). Failed to connect to bus: Host is down.

看起来问题是systemd没有分配给PID 1。但是,网上大多数解决方案都是基于wsl假设(使用Genie,GitHub上有),我找不到virtualbox的解决方案。

我列出了我所做的事情。

  1. 开始sshd
  2. 编辑/etc/ssh/sshd_config
#PermintRootLogin prohibit-password
PermintRootLogin yes
  1. 到这里重启sshd systemctl restart ssh成功
  2. teraterm 生成的私钥和公钥
  3. 将公钥复制到. /.ssh/authorized_keys.
  4. 更改访问权限
chmod -R 700 ./.ssh\
chmod -R 600 ./.ssh/authorized_keys
  1. 编辑/etc/ssh/sshd_config
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
  1. 重新启动sshd,我这里失败了。

谁能帮我这个?

谢谢。

PS我找到了错误的原因。当我构建环境后重新启动时,出现登录屏幕之前停在黑屏的问题,因此我运行“apt install slim”来解决问题。

之后sytemctl就无法使用了。

答案1

如果您尝试自己构建 Kali,答案是,您应该将其systemd作为 init 启动。

如果这对您来说有点神秘,我建议您从以下位置下载 VirtualBox 映像:kali.org并使用它。

相关内容