Разрешить или запретить доступ по SSH конкретному пользователю или группе в Linux
В этом кратком руководстве вы узнаете, как разрешить или запретить доступ по SSH определенному пользователю или группе в операционных системах Linux и Unix.
Введение
Некоторое время назад мы обсуждали, как ограничить доступ пользователя к системе Linux с помощью оболочки Restricted. Как только мы перевели пользователей в ограниченный режим, они не смогут делать ничего, кроме того, что им разрешено.
Это будет полезно, если вы хотите разрешить конкретному пользователю выполнять только определенный набор команд.
В этой статье мы собираемся включить или отключить доступ по SSH для пользователя или группы, внеся несколько изменений в файл конфигурации SSH по умолчанию.
Разрешить или запретить доступ по SSH конкретному пользователю или группе в Linux
Файл конфигурации openSSH по умолчанию содержит две директивы для разрешения и запрета доступа по SSH определенному пользователю (пользователям) или группе.
Во-первых, давайте посмотрим, как разрешить или включить доступ SSH для пользователя и группы. Обратите внимание, что все приведенные ниже команды следует запускать от имени пользователя root
или sudo
.
1. Разрешите SSH-доступ пользователю или группе.
Чтобы разрешить доступ по SSH определенному пользователю, например sk, отредактируйте файл /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
Нажмите "i
", чтобы войти в режим вставки и добавить или изменить следующую строку:
AllowUsers sk
Отредактируйте файл конфигурации ssh, чтобы разрешить доступ по ssh конкретному пользователю.
Замените «sk» на свое имя пользователя. Обратите внимание на пробел между "AllowUsers
" и "sk
". Вместо Пробела следует использовать Tab. Значение: добавьте слово «AllowUsers
», нажмите клавишу Tab, а затем укажите имя пользователя.
Вы также можете указать более одного пользователя, как показано ниже.
AllowUsers user1 user2
Чтобы разрешить доступ по SSH для всей группы, например, root
, добавьте/измените следующую строку:
AllowGroups root
Этот параметр позволит всем членам группы "root"
подключаться по SSH к серверу Linux.
Нажмите клавишу ESC
, чтобы выйти из режима вставки, и введите :wq
, чтобы сохранить и выйти из файла конфигурации SSH. Перезапустите службу SSH, чтобы изменения вступили в силу.
sudo systemctl restart sshd
Теперь пользователю sk и всем членам группы "root"
разрешено подключаться по ssh к вашему Linux-серверу. Остальным пользователям (кроме sk и членов группы "root"
) не разрешен доступ к системе через ssh.
Чтобы проверить это, попробуйте подключиться к серверу Linux по протоколу SSH от имени любого запрещенного пользователя:
ssh ostechnix@192.168.225.52
Вы получите следующее сообщение об ошибке:
ostechnix@192.168.225.52's password:
Permission denied, please try again.
Разрешение на доступ по SSH отклонено
2. Запретить SSH-доступ пользователю или группе
Чтобы отключить или запретить SSH-доступ пользователю или группе, вам необходимо добавить/изменить следующие директивы в файле /etc/ssh/sshd_config
вашего удаленного сервера. файл.
- Запретить пользователей
- Запретить группы
Чтобы запретить доступ по SSH конкретному пользователю с именем «sk», отредактируйте файл /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
Добавьте/отредактируйте следующую строку:
DenyUsers sk
Убедитесь, что отступ пробела правильный. Не используйте пробел. Нажмите клавишу Tab и добавьте имя пользователя.
Аналогичным образом, чтобы запретить доступ по SSH нескольким пользователям, укажите имена пользователей через пробел, как показано ниже.
DenyUsers user1 user2
Аналогично, чтобы запретить доступ по SSH всей группе, например root
, добавьте:
DenyGroups root
Сохраните и закройте файл конфигурации ssh. Перезапустите службу ssh, чтобы изменения вступили в силу.
sudo systemctl restart sshd
Теперь попробуйте подключиться к вашему Linux-компьютеру по SSH из заблокированной учетной записи пользователя, например sk:
ssh sk@192.168.225.52
Вы получите следующее сообщение:
sk@192.168.225.52's password:
Permission denied, please try again.
sk@192.168.225.52's password:
3. Отключите корневой вход по SSH.
Корневой доступ по ssh считается плохой практикой с точки зрения безопасности. Поэтому настоятельно рекомендуется отключить вход пользователя root по SSH для защиты вашей системы.
Чтобы отключить root-вход по ssh, отредактируйте файл /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
Найдите следующую строку, раскомментируйте ее и установите значение no
.
PermitRootLogin no
Перезапустите службу SSH, чтобы изменения немедленно вступили в силу:
sudo systemctl restart sshd
Заключение
Теперь вы знаете, как предоставлять и ограничивать доступ по SSH определенным пользователям или группе в Linux. Вы также узнали, как запретить или отключить root-вход по SSH в Linux. Это одна из рекомендуемых мер безопасности, которую должен применять каждый администратор Linux при настройке сервера Linux.
Связанное чтение:
- Отключить аутентификацию по паролю SSH для конкретного пользователя или группы
- Ограничить количество входов по SSH на пользователя/группу/систему
- Как подключиться по SSH к определенному каталогу в Linux
- Как разрешить или запретить доступ Sudo к группе в Linux