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