SSH дозволяє обмежувати доступ до сервера тільки для користувачів, які перебувають в певній групі. Не будучи її членами, інші користувачі не зможуть зайти на сервер по ssh. Це зручна можливість видавати права доступу тільки тим користувачам, кому це дійсно необхідно.
На початку необхідно створити групу, члени якої будуть авторизовані для роботи з ssh. Такий GID групи вказується для того, щоб не псувати рівність UID / GID для нових, створюваних в системі користувачів.
# Addgroup --gid 9999 whocanusessh
Потім в конфігураційному файлі / etc / ssh / sshd_config прописуємо параметр.
AllowGroups whocanusessh
Після чого в обов'язковому порядку додаємо root в цю групу:
# Adduser root whocanusessh
Якщо цього не зробити, то і root не зможе зайти на сервер за цим протоколом.
Наостанок перезапускаємо ssh командою service ssh restart.
Як це працює. Наприклад, для редагування файлів сайту example.com по sftp необхідно видати доступ користувачеві webmaster. Додаємо його в групу, аналогічно додаванню root. Виконуємо необхідні операції.
Коли робота закінчена, просто видаляємо користувача з групи.
# Deluser webmaster whocanusessh
Спроби аутентифікації користувачів, які не перебувають у виділеній групі, будуть відхилені сервером.
PS Звичайно, можна було б вказувати в файлі конфігурації ssh кожного користувача окремо, але це займе набагато більше часу, ніж додавання користувача в групу, або видалення з неї. :)