1

System: Harden SSHD and authorize key

This commit is contained in:
2026-02-16 20:01:40 +01:00
parent 6f5a3b9d24
commit a93a151971
2 changed files with 24 additions and 1 deletions

View File

@ -8,6 +8,7 @@
system,
username,
headless,
publicKeys,
...
}:
with mylib.networking; {
@ -273,6 +274,10 @@ with mylib.networking; {
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
publicKeys.christoph.ssh
];
# We do this with HomeManager
# packages = with pkgs; [];
};
@ -418,7 +423,9 @@ with mylib.networking; {
};
# Enable the OpenSSH daemon.
openssh.enable = true;
openssh = {
enable = true;
};
# Trims the journal if too large
journald.extraConfig = ''

View File

@ -176,6 +176,22 @@
fileSystems = ["/"];
};
# Temporarily ban IPs for SSH after failed login attempts
fail2ban = {
enable = true;
};
openssh = {
ports = [5432];
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
PermitRootLogin = "no";
AllowUsers = [username];
LogLevel = "VERBOSE"; # For fail2ban
};
};
# Keep this as a system service because we're backing up /persist as root
# TODO: The repository gets corrupted all the time, maybe because the service runs before the repository is mounted?
# - Was this caused by the NFS "soft" option?