+와 -를 함께 사용하여 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).

관련 정보