여기에 대한 답변은 나에게 많은 도움이 되었습니다.
하지만 제 경우에는 일부 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
).