내 Raspberry Pi의 Nixos에서 sshd가 작동하지 않는 이유는 무엇입니까?

내 Raspberry Pi의 Nixos에서 sshd가 작동하지 않는 이유는 무엇입니까?

내 구성.nix는 다음과 같습니다.

{ config, pkgs, lib, ... }:
{
  imports = [<nixpkgs/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix>];
  # NixOS wants to enable GRUB by default
  boot.loader.grub.enable = false;

  # if you have a Raspberry Pi 2 or 3, pick this:
  boot.kernelPackages = pkgs.linuxPackages_latest;

  # A bunch of boot parameters needed for optimal runtime on RPi 3b+
  boot.kernelParams = ["cma=256M"];
  boot.loader.raspberryPi.enable = true;
  boot.loader.raspberryPi.version = 3;
  boot.loader.raspberryPi.uboot.enable = true;
  boot.loader.raspberryPi.firmwareConfig = ''
     gpu_mem=0
  '';   
  services.openssh.enable = true;
  services.sshd.enable = true;
  services.openssh.allowSFTP = true;
  users = {
    mutableUsers = false;
    users = {
      root = {
        hashedPassword = "";
      };
      pi = {
        isNormalUser = true;
        uid = 1000;
        extraGroups = ["wheel"];
        shell = pkgs.zsh;
        hashedPassword = "";
        home = "/home/pi";
      };
    };
  };
}

localhost에 ssh를 시도하면 연결할 수 없으며 systemctl status sshd작동하지 않는다는 메시지가 나타납니다. 을 실행하면 systemctl start sshd모든 것이 잘 작동합니다.

nixos가 부팅 시 sshd를 시작하게 하려면 어떻게 해야 합니까?

답변1

나는 여기서 답을 찾았습니다.

https://github.com/NixOS/nixpkgs/issues/26776#issuecomment-310555407

그것은 나를 위해 작동합니다:

systemd.services.sshd.wantedBy = lib.mkOverride 40 [ "multi-user.target" ];

관련 정보