Чи можна перервати довгі рядки в sshd_config?


Відповіді:


10

Ні, але це не корисно в цьому випадку. Ви можете мати кілька AcceptEnv, AllowGroups, AllowUsers, DenyGroups, DenyUsers, HostKey, PermitOpen, Portі Subsystemлінії, і кожен рядок додає один або більше (або іноді нульовий) об'єктів у списках.

Тим не менш, якщо ви не можете легко вписати свою AllowUsersдирективу в один рядок, я пропоную створити ssh_allowedгрупу і використовувати AllowGroups ssh_allowedв sshd_config.


О, гарна справа про те, що я маю декілька AllowUsersдиректив
Майкл Мрозек

Одне слово обережності, схоже AllowGroupsі AllowUsersне терпить одне одного (декілька записів одного типу в порядку). Отже, у вашій конфігурації дотримуйтесь будь-якої політики, але не обох.
Олександр Погребняк

2
Ви можете використовувати і те, AllowGroupsі, AllowUsersякщо ви зробите демон OpenSSH, він дозволить ввійти дозволеним користувачам, лише якщо вони також є в дозволеній групі. Іншими словами, це "і" (перетин), а не "або" (союз).
nwk

Було б корисно у випадку покращення KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256читабельності
Нік Т

9

Словом, це виглядає як ні

OpenSSH servconf.cскидає файл у буфер, не перевіряючи такі речі (все, що, здається, потрібно шукати для #позначення коментаря):

while (fgets(line, sizeof(line), f)) {
    if ((cp = strchr(line, '#')) != NULL)
        memcpy(cp, "\n", 2);
    cp = line + strspn(line, " \t\r");

    buffer_append(conf, cp, strlen(cp));
}

Функція, що аналізує конфігурацію, потім розбиває буфер на нові рядки та обробляє кожен рядок:

while ((cp = strsep(&cbuf, "\n")) != NULL) {
    if (process_server_config_line(options, cp, filename,
        linenum++, &active, user, host, address) != 0)
    bad_options++;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.