Конкретно AllowUsers
параметр:
наприклад конвертувати це
AllowUsers user1 user2 user3 user4
до цього
AllowUsers
user1
user2
user3
user4
Конкретно AllowUsers
параметр:
наприклад конвертувати це
AllowUsers user1 user2 user3 user4
до цього
AllowUsers
user1
user2
user3
user4
Відповіді:
Ні, але це не корисно в цьому випадку. Ви можете мати кілька AcceptEnv
, AllowGroups
, AllowUsers
, DenyGroups
, DenyUsers
, HostKey
, PermitOpen
, Port
і Subsystem
лінії, і кожен рядок додає один або більше (або іноді нульовий) об'єктів у списках.
Тим не менш, якщо ви не можете легко вписати свою AllowUsers
директиву в один рядок, я пропоную створити ssh_allowed
групу і використовувати AllowGroups ssh_allowed
в sshd_config
.
AllowGroups
і AllowUsers
не терпить одне одного (декілька записів одного типу в порядку). Отже, у вашій конфігурації дотримуйтесь будь-якої політики, але не обох.
AllowGroups
і, AllowUsers
якщо ви зробите демон OpenSSH, він дозволить ввійти дозволеним користувачам, лише якщо вони також є в дозволеній групі. Іншими словами, це "і" (перетин), а не "або" (союз).
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256
читабельності
Словом, це виглядає як ні
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++;
}
AllowUsers
директив