Centos запрет подключения root по ssh
Обновлено: 04.07.2024
В этом руководстве мы рассмотрим, как разрешить или запретить доступ SSH к определенному пользователю или группе в Linux
Файл конфигурации OpenSSH по умолчанию имеет две директивы для разрешения и запрета доступа SSH к определенному пользователю (пользователям) или группе.
Во-первых, мы увидим, как разрешить SSH-доступ для определенного пользователя, например sk.
Обратите внимание, что все команды должны выполняться как пользователь root.
Разрешить SSH Доступ пользователю или группе
Перейдите на ваш удаленный сервер и отредактируйте файл sshd_config:
$ sudo vi /etc/ssh/sshd_config
Добавьте или отредактируйте следующую строку:
Замените «sk» на свое имя пользователя.
Вы также можете указать несколько пользователей, как показано ниже.
AllowUsers sk itsecforu
Чтобы разрешить целую группу, скажем, например, root, добавьте / отредактируйте следующую строку:
Те, кто входит в группу, могут передавать ssh на удаленный сервер.
Сохраните и закройте конфигурационный файл SSH.
Перезапустите службу SSH, чтобы изменения вступили в силу.
$ sudo systemctl restart sshd
Теперь пользователям sk, itsecfor или всем пользователям под группой «root» разрешено ssh на ваш удаленный сервер. Другие пользователи (кроме sk, itsecforu и пользователи «root») не могут.
Теперь давайте рассмотрим, как запретить / отключить доступ ssh определенному пользователю или группе.
Запретить SSH Доступ пользователю или группе
Чтобы отключить или запретить доступ SSH к любому пользователю или группе, вам необходимо добавить / изменить следующие директивы в файле sshd_config вашего удаленного сервера.
Чтобы запретить доступ SSH к определенному пользователю с именем «sk», отредактируйте файл sshd_config:
Добавьте / отредактируйте следующую строку в файле sshd_config.
Аналогично, чтобы запретить доступ SSH нескольким пользователям, укажите имена пользователей как показано ниже.
DenyUsers sk itsecforu
Чтобы запретить доступ SSH ко всей группе, например root, добавьте:
Сохраните и закройте файл конфигурации ssh.
Перезапустите службу ssh, чтобы внести изменения.
$ sudo systemctl restart sshd
если вы пытаетесь использовать ssh для сервера с использованием запрещенных пользователей, например sk:
Что еще более важно, вы также должны отключить вход пользователя root.
Доступ root по ssh считается плохой практикой с точки зрения безопасности.
Чтобы отключить root ssh login, отредактируйте файл sshd_config:
Найдите следующую строку, Раскомментируйте ее и установите значение равным no.
Главное меню » Операционная система CentOS » Отключение или включение корневого входа SSH и безопасного доступа SSH в CentOS 7
Прежде чем мы начнем, нам нужно будет выполнить несколько требований, прежде чем продолжить эту статью.
Требования:
- Установленный CentOS ;
- Доступ через SSH к вашему VPS;
- Обычный пользователь, который может использовать «su» или «sudo» для получения привилегий root;
Войдите в свой CentOS VPS через SSH в качестве обычного пользователя с привилегиями sudo:
Отключить вход root через SSH
Чтобы отключить вход в корневой каталог, нам нужно изменить главный файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
Теперь найдите эту строку ниже в файле.
Выполняя следующую команду, мы перезапустим службу демона SSH:
Теперь, когда мы попытаемся войти в систему как пользователь root, вы должны получить ошибку “Access Denied”.
На этом этапе вы не можете входить в систему напрямую как root, но вы можете войти в систему как обычный пользователь с привилегиями sudo и использовать команду «sudo» или «su» для переключения на пользователя root. Например:
Включить SSH Root Login
Чтобы включить ведение журнала в качестве пользователя root, нам необходимо изменить основной файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
Найдите в файле следующую строку.
После сохранения файла мы должны перезапустить службу sshd.
Теперь вы можете попытаться войти в систему напрямую как пользователь root.
Безопасный доступ к SSH в CentOS 7
В этом разделе мы предоставим вам несколько простых советов о том, как защитить SSH-доступ на вашем сервере CentOS 7.
Изменение порта сервера SSH
Чтобы изменить стандартный порт прослушивания, вам необходимо изменить конфигурационный файл SSH, используя следующую команду:
Затем вам нужно найти строку, которая ссылается на номер порта. После того, как вы найдете номер порта, который (значение по умолчанию должно быть 22), вы можете изменить значение по умолчанию на нужный номер.
Когда вы закончите редактирование, нажмите Ctrl + O, а затем нажмите Ctrl + X, чтобы сохранить и выйти.
Перезапустите службу демона SSH, выполнив команду:
Отключение протокола SSHv1
Существует две версии SSH-протоколов: SSHv1 и SSHv2. Использование протокола SSHv1 не рекомендуется, поскольку это более старая версия и менее безопасна, чем новый протокол SSHv2. В следующем разделе мы отключим SSHv1. Если вам нужна эта версия по какой-либо причине, вы можете игнорировать эту часть.
Откройте конфигурационный файл SSH с помощью этой команды:
и отредактируйте ее:
Теперь мы должны перезапустить службу SSH, чтобы новая конфигурация вступила в силу. Мы можем сделать это, выполнив эту команду:
Отключение доступа root также является одним из способов защитить ваш SSH-сервер, который мы показали вам в начале статьи.
В этой статье мы узнали, как отключить и разрешить вход root в SSH. Мы также узнали, как защитить SSH-сервер, изменив номер порта, отключив доступ root и отключив SSH-протокол SSHv1.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Главное меню » Операционная система CentOS » Как отключить доступ Root по SSH на CentOS 7
В данной статье предполагается, что вы по крайней мере, имеете базовые знания Linux, знаете, как использовать оболочку, и, самое главное, вы размещаете свой сайт на своем собственном VPS. Установка очень проста и предполагает, что вы работаете в корневой учетной записи, если вы не можете добавить «sudo» к командам, чтобы получить привилегии суперпользователя. Мы покажем вам шаг за шагом, как отключить доступ root по SSH на сервере CentOS 7.
Перед тем, как отключить авторизацию по SSH для корневой учетной записи, вы должны создать учетную запись обычного пользователя. (В противном случае, вы не сможете получить доступ к вашему серверу при отключении основной учетной записи для авторизации по SSH.)Отключение доступа root по SSH на сервере CentOS 7
Шаг 1. Прежде всего, давайте начнем с обновления вашей системы.
Шаг 2. Отключение доступа root по SSH.
Для того, чтобы отключить, откройте конфигурационный файл SSH, используя следующие команды:
Измените строку следующим образом:
Сохраните файл и перезапустите сервер SSH, выполнив следующие команды:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Учетная запись root является конечной учетной записью в Linux и других Unix-подобных операционных системах.
Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение.
Она используется для выполнения любой задачи в системе; создавать / обновлять / получать доступ / удалять учетные записи других пользователей, устанавливать / удалять / обновлять пакеты программного обеспечения и многое другое.
Поскольку пользователь root имеет абсолютные полномочия, любые действия, которые он выполняет, имеют решающее значение для системы.
В этом отношении любые ошибки пользователя root могут иметь серьезные последствия для нормальной работы системы.
Кроме того, этой учетной записью можно также злоупотреблять, используя ее ненадлежащим образом либо случайно, либо злонамеренно, либо путем незнания политик безопасности.
Поэтому рекомендуется отключить доступ root на вашем Linux-сервере, вместо этого создать учетную запись администратора, которая должна быть настроена для получения привилегий пользователя root с помощью команды sudo для выполнения критических задач на сервере.
В этой статье мы объясним четыре способа отключения учетной записи пользователя root в Linux.
Внимание. Прежде чем блокировать доступ к учетной записи root, убедитесь, что вы создали админскую учетную запись, способную использовать команду sudo для получения привилегий пользователя root, с помощью команды useradd и предоставить этой учетной записи надежный пароль. Флаг -m означает создание домашнего каталога пользователя, а -c позволяет указать комментарий:
Затем добавьте этого пользователя в соответствующую группу системных администраторов, используя команду usermod, где ключ -a означает добавление учетной записи пользователя, а -G указывает группу для добавления пользователя в (колесо или sudo в зависимости от вашего дистрибутива Linux):
После того, как вы создали пользователя с правами администратора, переключитесь на эту учетную запись, чтобы заблокировать доступ root.
1. Изменение оболочки пользователя root
Сохраните файл и закройте его.
Этот метод эффективен только для программ, для которых требуется учетная запись пользователя для входа в систему, иначе sudo, ftp и почтовые клиенты смогут получить доступ к учетной записи root.
2. Отключить root через консольное устройство (TTY)
Второй метод использует модуль PAM, называемый pam_securetty, который разрешает root-доступ только в том случае, если пользователь регистрируется в «защищенном» TTY, как определено в списке в /etc/securetty.
В приведенном выше файле вы можете указать устройства TTY, c которыми пользователь root может войти в систему, опуская этот файл, запрещает вход в систему на любом устройстве, подключенном к системе.
Чтобы создать пустой файл, запустите
Этот метод имеет некоторые ограничения, он влияет только на такие программы, как логин, диспетчеры отображения (например, gdm, kdm и xdm) и другие сетевые службы, запускающие TTY.
Такие программы, как su, sudo, ssh и другие связанные с ними средства openssh, будут иметь доступ к учетной записи root.
3. Отключить вход root по SSH
Затем раскомментируйте (если она закомментирован) директиву PermitRootLogin и установите ее значение равным no, как показано на скриншоте.
Как только вы закончите, сохраните и закройте файл.
Затем перезапустите службу sshd, чтобы применить последние изменения в конфигурациях.
Как вы уже знаете, этот метод влияет только на набор инструментов openssh, такие программы, как ssh, scp, sftp, будут заблокированы для доступа к учетной записи root.
4. Ограничение доступа root к службам через PAM
PAM через модуль /lib/security/pam_listfile.so обеспечивает большую гибкость в ограничении привилегий конкретных учетных записей.
Вышеупомянутый модуль может использоваться для ссылки на список пользователей, которым не разрешено входить в систему через некоторые целевые службы, такие как login, ssh и любые программы, поддерживающие PAM.
В этом случае мы собираемся отключить доступ пользователя root к системе, ограничив доступ к входам и службам sshd.
Сначала откройте и отредактируйте файл для целевой службы в каталоге /etc/pam.d/, как показано ниже:
Затем добавьте конфигурацию ниже в оба файла.
Когда все будет готово, сохраните и закройте каждый файл. Затем создайте простой файл / etc / ssh / deniedusers, который должен содержать один элемент на строку, а не читаемый в мире.
Добавьте в него имя root, затем сохраните и закройте его.
Также установите необходимые разрешения для этого файла.
Этот метод влияет только на программы и службы, которые известны PAM.
Вы можете заблокировать доступ root к системе через ftp и почтовые клиенты и многое другое.
Для получения дополнительной информации обратитесь к соответствующим страницам руководства.
Читайте также: