+와 -를 모두 사용하여 sshd_config 옵션을 편집할 수 있습니까?

+와 -를 모두 사용하여 sshd_config 옵션을 편집할 수 있습니까?

여기에 대한 답변은 나에게 많은 도움이 되었습니다.

하지만 제 경우에는 일부 MAC을 비활성화하고 몇 가지 새로운 MAC을 추가하고 싶습니다. 옵션을 하드코딩하지 않고 이를 수행할 수 있는 방법이 있습니까?

다음은 작동하지 않습니다.

MACs +hmac-xxxx
MACs -hmac-gggg

이 경우 첫 번째 문만 효과가 있습니다. 하드코딩 없이 이를 달성할 수 있는 방법이 있습니까?

답변1

그렇게 할 방법이 없습니다.

ssh형식이 잘못되었을 때 불평하더라도 첫 번째 MACs(또는 Ciphers등) 선언만 고려하고 나머지는 자동으로 무시합니다.

소스를 보시면 됩니다. 안에 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->macs아직 설정되지 않은 경우에만 설정됩니다(인 경우 NULL).

관련 정보