Kann man in sshd_config lange Zeilen umbrechen?


14

Speziell AllowUsersParameter:

zB konvertieren

AllowUsers user1 user2 user3 user4

dazu

AllowUsers
    user1
    user2
    user3
    user4

Antworten:


10

Nein, aber in diesem Fall ist es nicht sinnvoll. Sie können mehrere haben AcceptEnv, AllowGroups, AllowUsers, DenyGroups, DenyUsers, HostKey, PermitOpen, Portund SubsystemLinien, und jede Zeile fügen ein oder mehr (oder manchmal null) Elemente auf die Liste.

Wenn Sie Ihre AllowUsersDirektive jedoch nicht einfach in eine Zeile einpassen können , empfehle ich, eine ssh_allowedGruppe zu erstellen und AllowGroups ssh_allowedin zu verwenden sshd_config.


Oh, ein guter Punkt, um nur mehrere AllowUsersDirektiven zu haben
Michael Mrozek

Ein Wort der Vorsicht, sieht aus wie AllowGroupsund AllowUserstolerieren einander nicht (mehrere Einträge desselben Typs sind in Ordnung). Halten Sie sich in Ihrer Konfiguration an eine der beiden Richtlinien, jedoch nicht an beide.
Alexander Pogrebnyak

2
Sie können beide verwenden AllowGroupsund , AllowUsersaber wenn Sie die OpenSSH - Daemon tun nur die erlaubten Benutzer können sich anmelden , wenn sie auch in einer erlaubten Gruppe sind. Mit anderen Worten, es ist "und" (Schnittmenge), nicht "oder" (Vereinigung).
nwk

Es wäre nützlich, um die KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256Lesbarkeit zu verbessern
Nick T

9

Kurz gesagt, es sieht aus wie nein

OpenSSH servconf.cspeichert die Datei in einem Puffer, ohne nach solchen Dingen zu suchen (alles, was es zu tun scheint, ist #nach einem Kommentar zu suchen ):

while (fgets(line, sizeof(line), f)) {
    if ((cp = strchr(line, '#')) != NULL)
        memcpy(cp, "\n", 2);
    cp = line + strspn(line, " \t\r");

    buffer_append(conf, cp, strlen(cp));
}

Die Funktion, die die Konfiguration analysiert, teilt dann den Puffer in Zeilenumbrüche auf und verarbeitet jede Zeile:

while ((cp = strsep(&cbuf, "\n")) != NULL) {
    if (process_server_config_line(options, cp, filename,
        linenum++, &active, user, host, address) != 0)
    bad_options++;
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.