blob: 03b59dccd24d23375524281f3220e7471832330f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
{
self,
inputs,
...
}:
{
flake.machines.tharos = {
nixos =
{
lib,
modulesPath,
...
}:
{
# Kein Login für Nutzer die nicht explizit deklariert sind
users.mutableUsers = false;
users.users = lib.mapAttrs (username: keyFiles: {
isNormalUser = true;
openssh.authorizedKeys.keyFiles = keyFiles;
# ANMERKUNG: Der Einfachheit halber sind bis auf Weiteres alle Nutzer mit SSH-Zugang auch Administratoren
extraGroups = [ "wheel" ];
}) self.keys;
/*
`sudo` über SSH ohne Passworteingabe
ANMERKUNG: Nutzer sollten in ihrem ` ~/.ssh/config` für die Maschine einstellen:
ForwardAgent: yes
*/
security.pam.sshAgentAuth.enable = true;
security.pam.services.sudo.sshAgentAuth = true;
# Nur Administratoren können den angemeldeten Benutzer wechseln
security.pam.services.su.requireWheel = true;
networking.firewall.allowPing = true;
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
PermitRootLogin = "prohibit-password";
};
};
};
};
}
|