Secure Shell (SSH) является одним из наиболее распространенных способов доступа пользователей к удаленным системам. Системным администраторам часто необходимо управлять доступом пользователей к своим системам. Иногда им нужно заблокировать или отозвать SSH-доступ для пользователей или групп. В этой статье мы узнаем, как запретить доступ к SSH пользователям или группам в Linux. Вы можете легко включить или отключить доступ к SSH для пользователей или групп, внеся несколько небольших изменений в конфигурацию SSH.
Как запретить доступ к SSH пользователям или группам
Ниже описаны шаги по запрету доступа к SSH для пользователей или групп.
1. Запрет доступа к SSH для пользователей или групп
Чтобы заблокировать или отозвать доступ к SSH для пользователей или групп, необходимо изменить конфигурацию SSH. Откройте конфигурацию SSH в редакторе vi.
1 | sudo nano /etc/ssh/sshd_config |
Допустим, вы хотите запретить доступ пользователю test_user. В этом случае добавьте следующую строку в файл конфигурации SSH.
1 | DenyUsers test_user |
Если вы хотите заблокировать доступ по SSH нескольким пользователям test_user1 и test_user2, укажите их друг за другом в виде строк, разделенных табуляцией или пробелами.
1 | DenyUsers test_user1 test_user2 |
Если вы хотите запретить доступ группе пользователей gp1, используйте директиву DenyGroups.
1 | DenyGroups gp1 |
Если вы хотите запретить доступ по SSH нескольким группам gp1, gp2 и т.д., добавьте их друг за другом через пробел.
1 | DenyGroups gp1 gp2 |
Сохраните и закройте файл. Перезапустите службу SSH, чтобы применить изменения.
1 | sudo systemctl restart sshd |
Теперь, если вы попытаетесь получить доступ к своей учетной записи от заблокированного пользователя/группы, вы получите следующее сообщение.
1 | Permission denied, please try again. |
2. Запретить вход в систему SSH root
По умолчанию вход в систему SSH root разрешен. Но это считается плохой практикой с точки зрения безопасности. Это связано с тем, что если какое-то неавторизованное лицо или приложение сможет войти под именем root, то оно может полностью скомпрометировать вашу систему. Поэтому рекомендуется отключить вход в SSH под именем root.
Для этого откройте файл конфигурации SSH.
1 | sudo nano /etc/ssh/sshd_config |
Найдите PermitRootLogin и установите его значение в no.
1 | PermitRootLogin no |
Сохраните и закройте файл. Перезапустите SSH-сервер, чтобы применить изменения.
1 | sudo systemctl restart sshd |
3. Разрешить доступ по SSH пользователям или группам
Если вы хотите разрешить доступ к SSH пользователям или группам, откройте файл конфигурации SSH в текстовом редакторе.
1 | sudo nano /etc/ssh/sshd_config |
Если вы хотите разрешить доступ по SSH пользователю test_user, добавьте следующую директиву в файл конфигурации SSH.
1 | AddUsers test_user |
Если вы хотите разрешить доступ нескольким пользователям test_user1, test_user2, то укажите их последовательно в директиве AddUsers.
1 | AddUsers test_user1 test_user2 |
Если вы хотите разрешить SSH-доступ группе gp1, используйте директиву AddGroups.
1 | AddGroups gp1 |
Аналогично, если вы хотите разрешить SSH-доступ к нескольким группам gp1, gp2 и т.д., перечислите их друг за другом через пробел.
1 | AddGroups gp1 gp2 |
Сохраните и выйдите из файла. Перезапустите SSH-сервер для применения изменений.
1 | sudo systemctl restart sshd |
Теперь вы должны иметь возможность войти в SSH с помощью следующей команды.
1 | ssh user@[hostname_or_ip] |
Заключение
В этой статье мы узнали, как запретить или заблокировать доступ к SSH для пользователей и групп в Linux.