Können Sie sowohl + als auch - verwenden, um die Option sshd_config zu bearbeiten?

Können Sie sowohl + als auch - verwenden, um die Option sshd_config zu bearbeiten?

Die Antworten hier haben mir sehr geholfen.

In meinem Fall möchte ich jedoch einige MACs deaktivieren und einige neue hinzufügen. Gibt es eine Möglichkeit, dies zu tun, ohne die Optionen fest zu codieren?

Folgendes funktioniert nicht.

MACs +hmac-xxxx
MACs -hmac-gggg

In diesem Fall hat nur die erste Anweisung eine Auswirkung. Gibt es eine Möglichkeit, dies ohne Hardcoding zu erreichen?

Antwort1

Das ist nicht möglich.

sshberücksichtigt nur die erste MACs(oder Ciphersusw.) Deklaration und ignoriert den Rest stillschweigend, obwohl es sich beschwert, wenn sie falsch formatiert sind.

Sie können sich die Quelle ansehen. In readconf.c:

        options->macs = NULL;
...
        case oMacs:
                arg = strdelim(&s);
                if (!arg || *arg == '\0')
                        fatal("%.200s line %d: Missing argument.", filename, lin
enum);
                if (*arg != '-' &&
                    !mac_valid(*arg == '+' || *arg == '^' ? arg + 1 : arg))
                        fatal("%.200s line %d: Bad SSH2 MAC spec '%s'.",
                            filename, linenum, arg ? arg : "<NONE>");
                if (*activep && options->macs == NULL)
                        options->macs = xstrdup(arg);
                break;

options->macswird nur gesetzt, wenn es nicht bereits gesetzt ist (wenn es NULL)

verwandte Informationen