dotfiles/nix/server/ssh.nix
2025-03-20 21:21:01 +04:00

30 lines
500 B
Nix

{ config
, pkgs
, lib
, ...
}:
let
cfg = config.kp2pml30.server;
in {
services.openssh = {
enable = true;
ports = [ 22 ];
openFirewall = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
PermitRootLogin = lib.mkForce "no";
AllowUsers = [ cfg.username "forgejo" ];
};
};
services.fail2ban = {
enable = true;
maxretry = 5;
bantime = "168h";
bantime-increment = {
enable = true;
formula = "ban.Time * ban.Time";
};
};
}