В соответствии со стандартной политикой вашей организации вам может потребоваться утвердить список пользователей, которым разрешен доступ к системе Linux.
Или вам может понадобиться разрешить только несколько групп, которым разрешен доступ к системе Linux.
Как этого добиться? Какой самый лучший способ? Как этого добиться простым способом?
Есть много способов сделать это.
Однако нам нужно пойти простым и легким методом.
Если это так, это можно сделать, внеся необходимые изменения в файл / etc / ssh / sshd_config.
В этой статье мы покажем вам, как выполнить это в деталях.
Зачем мы это делаем? по соображениям безопасности.
Перейдите по следующему URL, чтобы узнать больше об использовании openSSH.
✗ Основы Linux: как создавать и устанавливать SSH-ключи в шелле ✗
Что такое SSH?
openssh расшифровывается как OpenBSD Secure Shell.
Secure Shell (ssh) – это бесплатный сетевой инструмент с открытым исходным кодом, который позволяет нам получить доступ к удаленной системе через незащищенную сеть по протоколу Secure Shell (SSH).
Это клиент-серверная архитектура.
Он обрабатывает аутентификацию пользователей, шифрование, передачу файлов между компьютерами и туннелирование.
Это может быть выполнено с помощью традиционных инструментов, таких как telnet или rcp, они небезопасны и используют пароль передачи в формате открытого текста при выполнении любого действия.
Как разрешить пользователю доступ к SSH в Linux?
Мы можем разрешить / включить ssh-доступ для конкретного пользователя или списка пользователей, используя следующий метод.
Если вы хотите разрешить более одного пользователя, вы должны добавить пользователей с пробелом в одной строке.
Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config. В этом примере мы собираемся разрешить ssh доступ для user3.
# echo "AllowUsers user3" >> /etc/ssh/sshd_config
Вы можете проверить это дважды, выполнив следующую команду.
# cat /etc/ssh/sshd_config | grep -i allowusers AllowUsers user3
Перезапустите службу:
# systemctl restart sshd # service restart sshd
Просто откройте новый терминал или сеанс и попробуйте получить доступ к системе Linux другим пользователем.
Да, user2 не разрешен для входа в SSH и вы получите сообщение об ошибке, как показано ниже.
# ssh user2@192.168.1.4 user2@192.168.1.4's password: Permission denied, please try again.
Вывод:
Mar 29 02:00:35 CentOS7 sshd[4900]: User user2 from 192.168.1.6 not allowed because not listed in AllowUsers Mar 29 02:00:35 CentOS7 sshd[4900]: input_userauth_request: invalid user user2 [preauth] Mar 29 02:00:40 CentOS7 unix_chkpwd[4902]: password check failed for user (user2) Mar 29 02:00:40 CentOS7 sshd[4900]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user2 Mar 29 02:00:43 CentOS7 sshd[4900]: Failed password for invalid user user2 from 192.168.1.6 port 42568 ssh2
В то же время user3 разрешено входить в систему, потому что он находится в списке разрешенных пользователей.
# ssh user3@192.168.1.4 user3@192.168.1.4's password: [user3@CentOS7 ~]$
Вывод:
Mar 29 02:01:13 CentOS7 sshd[4939]: Accepted password for user3 from 192.168.1.6 port 42590 ssh2 Mar 29 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): session opened for user user3 by (uid=0)
В то же время user3 разрешено входить в систему, потому что он находится в списке разрешенных пользователей.
Как запретить пользователям доступ к SSH в Linux?
Мы можем запретить / отключить ssh-доступ для определенного пользователя или списка пользователей, используя следующий метод.
Если вы хотите отключить более одного пользователя, вы должны добавить пользователей с пробелом в одной строке.
Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config. В этом примере мы собираемся отключить ssh-доступ для user1.
# echo "DenyUsers user1" >> /etc/ssh/sshd_config
Вы можете проверить это дважды, выполнив следующую команду.
# cat /etc/ssh/sshd_config | grep -i denyusers DenyUsers user1
Перезапустите службу
# systemctl restart sshd # service restart sshd
Просто откройте новый терминал или сеанс и попробуйте получить доступ к системе Linux.
Да, user1 находится в списке DenyUsers.
Таким образом, вы получите сообщение об ошибке, как показано ниже, при попытке войти в систему.
# ssh user1@192.168.1.4 user1@192.168.1.4's password: Permission denied, please try again.
Вывод:
Mar 29 01:53:42 CentOS7 sshd[4753]: User user1 from 192.168.1.6 not allowed because listed in DenyUsers Mar 29 01:53:42 CentOS7 sshd[4753]: input_userauth_request: invalid user user1 [preauth] Mar 29 01:53:46 CentOS7 unix_chkpwd[4755]: password check failed for user (user1) Mar 29 01:53:46 CentOS7 sshd[4753]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user1 Mar 29 01:53:48 CentOS7 sshd[4753]: Failed password for invalid user user1 from 192.168.1.6 port 42522 ssh2
Как запретить группе доступ к SSH в Linux?
Мы можем запретить / отключить доступ ssh для определенной группы или групп, используя следующий метод.
Если вы хотите отключить более одной группы, вам нужно добавить группу с пробелом в той же строке.
Для этого просто добавьте следующее значение в файл /etc/ssh/sshd_config.
# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config
Вы можете проверить это дважды, выполнив следующую команду.
# # cat /etc/ssh/sshd_config | grep -i denygroups DenyGroups 2g-admin
# getent group 2g-admin 2g-admin:x:1005:user1,user2,user3
Перезапустите службу:
# systemctl restart sshd # service restart sshd
Да, user3 не разрешено входить в систему, потому что он входит в группу 2g-admin. Она в Denygroups.
# ssh user1@192.168.1.4 user1@192.168.1.4's password: Permission denied, please try again.
Вывод:
Mar 29 02:17:32 CentOS7 sshd[5400]: User user1 from 192.168.1.6 not allowed because a group is listed in DenyGroups Mar 29 02:17:32 CentOS7 sshd[5400]: input_userauth_request: invalid user user1 [preauth] Mar 29 02:17:38 CentOS7 unix_chkpwd[5402]: password check failed for user (user1) Mar 29 02:17:38 CentOS7 sshd[5400]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user1 Mar 29 02:17:41 CentOS7 sshd[5400]: Failed password for invalid user user1 from 192.168.1.6 port 42710 ssh2
Любой может войти в систему, кроме группы 2g-admin. Следовательно, пользователю ladmin разрешено входить в систему.
# ssh ladmin@192.168.1.4 ladmin@192.168.1.4's password: [ladmin@CentOS7 ~]$
Вывод:
Mar 29 02:19:13 CentOS7 sshd[5432]: Accepted password for ladmin from 192.168.1.6 port 42716 ssh2 Mar 29 02:19:13 CentOS7 sshd[5432]: pam_unix(sshd:session): session opened for user ladmin