Linux отключить root ssh

Как (и почему) отключить root-вход через SSH в Linux

Вход в систему в качестве пользователя root Linux является плохой практикой. Вход в систему с правами root через SSH-соединение еще хуже. Мы расскажем вам, почему, и покажем, как этого избежать.

Обоюдоострый меч

Вам нужен кто-то с полномочиями владеть и администрировать те части вашей операционной системы, которые слишком важны или слишком чувствительны для обычных пользователей. Вот тут-то и появляется root. root — всемогущий суперпользователь операционных систем Unix и Linux.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Учетная запись пользователя root, как и все учетные записи, защищена паролем. Без пароля пользователя root никто другой не сможет получить доступ к этой учетной записи. Это означает, что привилегии и полномочия root не могут быть использованы кем-либо еще. Оборотная сторона заключается в том, что единственная защита между злоумышленником и полномочиями root — это пароль. Пароли, конечно, можно угадать, вычислить, найти где-то записанными или подобрать методом грубой силы.

Если злоумышленник узнает пароль root, он может войти в систему и делать со всей системой все, что захочет. С повышенными привилегиями root нет никаких ограничений на то, что они могут делать. Это было бы так же, как если бы пользователь root отошел от терминала, не выйдя из системы, что дало бы возможность произвольного доступа к своей учетной записи.

Из-за этих рисков многие современные дистрибутивы Linux не позволяют пользователю root входить в систему локально, не говоря уже о SSH. Пользователь root существует, но для него не установлен пароль. И все же кто-то должен уметь администрировать систему. Решение этой головоломки — команда sudo.

sudo позволяет назначенным пользователям временно использовать привилегии уровня root из своей учетной записи пользователя. Вам необходимо пройти аутентификацию, чтобы использовать sudo, что вы делаете, вводя свой собственный пароль. Это дает вам временный доступ к возможностям root.

Ваши полномочия суперпользователя исчезают, когда вы закрываете окно терминала, в котором они использовались. Если вы оставите окно терминала открытым, время ожидания истечет, и вы автоматически вернетесь в статус обычного пользователя. Это обеспечивает еще один тип защиты. Он защищает вас от самого себя.

Читайте также:  Mounting windows partitions in linux

Если вы обычно входите в систему как пользователь root вместо обычной учетной записи, любые ошибки, которые вы совершаете в командной строке, могут иметь катастрофические последствия. Необходимость использовать sudo для администрирования означает, что вы с большей вероятностью будете сосредоточены и осторожны при вводе текста.

Разрешение входа в систему root через SSH увеличивает риски, поскольку злоумышленникам не обязательно быть локальными; они могут попытаться взломать вашу систему удаленно.

Пользователь root и доступ по SSH

Скорее всего, вы столкнетесь с этой проблемой, когда будете администрировать системы для других людей. Возможно, кто-то решил установить пароль root, чтобы войти в систему. Необходимо изменить другие настройки, чтобы позволить root войти в систему через SSH.

Это не произойдет случайно. Но это могут сделать люди, которые не понимают связанных с этим рисков. Если вы возьмете на себя администрирование компьютера в таком состоянии, вам нужно будет сообщить владельцам, почему это плохая идея, а затем вернуть систему в безопасное состояние. Если это было что-то настроено предыдущим системным администратором, владельцы могут об этом не знать.

Вот пользователь на компьютере с Fedora, подключающийся по SSH к компьютеру с Ubuntu в качестве пользователя root на компьютере с Ubuntu.

Пользователь root подключается к удаленному компьютеру с помощью SSH.

Компьютер Ubuntu позволяет пользователю root входить в систему через SSH. На компьютере с Ubuntu мы видим, что активное соединение выполняется от пользователя root.

Использование команды who для вывода списка зарегистрированных пользователей

Чего мы не можем видеть, так это того, кто использует этот сеанс. Мы не знаем, является ли человек на другом конце SSH-соединения пользователем root или кем-то, кому удалось получить пароль root.

Отключение SSH-доступа для root

Чтобы отключить доступ по SSH для пользователя root, нам нужно внести изменения в файл конфигурации SSH. Он находится в «/etc/ssh/sshd_config». Нам нужно будет использовать sudo, чтобы записать в него изменения.

sudo gedit /etc/ssh/sshd_config

Редактирование файла sshd-config

Прокрутите файл или найдите строку «PermitRootLogin».

Либо установите для этого параметра значение «нет», либо закомментируйте строку, поместив решетку «#» в качестве первого символа в строке. Сохраните изменения.

Нам нужно перезапустить демон SSH, чтобы наши изменения вступили в силу.

sudo systemctl перезапустить ssh

Перезапуск демона sshd

Если вы также хотите запретить локальный вход в систему, отключите пароль root. Мы используем подход с поясом и фигурными скобками и используем опции -l (блокировка) и -d (удаление пароля).

Читайте также:  Package install linux mint

Блокировка учетной записи root и удаление пароля root

Это блокирует учетную запись и удаляет пароль учетной записи в придачу. Даже если пользователь root физически сидит за вашим компьютером, он не сможет войти в систему.

Более безопасный способ разрешить root-доступ по SSH

Иногда вы будете сталкиваться с сопротивлением руководства при удалении root-доступа через SSH. Если они действительно не будут слушать, вы можете оказаться в положении, когда вам придется восстановить его. Если это так, вы должны быть в состоянии скомпрометировать таким образом, чтобы снизить риск и по-прежнему разрешать удаленный вход в систему от пользователя root.

Использование ключей SSH для установления соединения через SSH намного безопаснее, чем использование паролей. Поскольку пароли не используются, их нельзя подобрать методом грубой силы, угадать или обнаружить каким-либо иным образом.

Прежде чем заблокировать локальную учетную запись root, настройте ключи SSH на удаленном компьютере, чтобы пользователь root мог подключаться к вашему локальному компьютеру. Затем удалите их пароль и заблокируйте их локальную учетную запись.

Нам также потребуется еще раз отредактировать файл «sshd_config».

sudo gedit /etc/ssh/sshd_config

Редактирование файла sshd-config

Измените строку «PermitRootLogin», чтобы в ней использовалась опция «запретить пароль».

Сохраните изменения и перезапустите демон SSH.

sudo systemctl перезапустить ssh

Перезапуск демона sshd

Теперь, даже если кто-то восстановит пароль пользователя root, он не сможет войти в систему через SSH, используя пароль.

Когда удаленный пользователь root устанавливает SSH-соединение с вашим локальным компьютером, ключи обмениваются и проверяются. Если они проходят аутентификацию, пользователь root подключается к вашему локальному компьютеру без необходимости вводить пароль.

Пользователь root подключается к удаленному компьютеру с помощью SSH без пароля.

Въезд запрещен

Отказ от удаленных подключений от пользователя root — лучший вариант. Разрешить root подключаться с помощью SSH-ключей — второй вариант, но все же намного лучше, чем использование паролей.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник

Disable or Enable SSH Root Login and Limit SSH Access in Linux

Everyone knows that Linux systems come with root user access and by default, root access is enabled for the outside world.

For security reasons, it’s not a good idea to have ssh root access enabled for unauthorized users. Because any hacker can try to brute force your password and gain access to your system.

Disable SSH Root Login

So, it’s better to have another account that you regularly use and then switch to the root user by using the ‘su –‘ command when necessary. Before we start, make sure you have a regular user account and with that, you su or sudo to gain root access.

Читайте также:  Linux logs not rotating

In Linux, it’s very easy to create a separate account, log in as a root user and simply run the adduser command to create a separate user. Once the user is created, just follow the below steps to disable root login via SSH.

We use sshd master configuration file to disable root login and this will may decrease and prevent the hacker from gaining root access to your Linux box. We also see how to enable root access again as well as how to limit ssh access based on users’ list.

Disable SSH Root Login

To disable root login, open the main ssh configuration file /etc/ssh/sshd_config with your choice of editor.

Search for the following line in the file.

Remove the ‘#‘ from the beginning of the line. Make the line look similar to this.

Disable Root Login in Linux

Next, we need to restart the SSH daemon service.

# systemctl restart sshd OR # /etc/init.d/sshd restart

Now try to log in with the root user, you will get a “Permission denied” error.

$ ssh [email protected] [email protected]'s password: Permission denied, please try again.

SSH Permission Denied Error

So, from now onwards login as a normal user and then use the ‘su’ command to switch to root user.

$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:04:58 2021 from 192.168.0.161 $ su - Password: Last login: Mon Dec 27 15:05:07 IST 2021 on pts/1

SSH User Login

Enable SSH Root Login

To enable ssh root logging, open the file /etc/ssh/sshd_config.

Search for the following line and remove the ‘#‘ at the beginning and save the file.

Enable Root Login in Linux

Restart the sshd service.

# systemctl restart sshd OR # /etc/init.d/sshd restart

Now try to log in with the root user.

$ ssh [email protected] [email protected]'s password: Last login: Mon Dec 27 15:14:54 2021 from 192.168.0.161

SSH Root Login

Limit SSH User Logins

If you have a large number of user accounts on the systems, then it makes sense that we limit remote SSH access to those users who really need it. Open the /etc/ssh/sshd_config file.

Add an AllowUsers line at the bottom of the file with a space separated by a list of usernames. For example, user tecmint and sheena both have access to remote ssh.

AllowUsers tecmint sheena

Limit SSH User Login

Now restart ssh service.

Источник

Оцените статью
Adblock
detector