Разрешить root ssh centos
Обновлено: 21.11.2024
Нужно ли мне делать что-то еще, чтобы использовать su или разрешить root-доступ через ssh?
По умолчанию sshd разрешает вход в систему с правами root без каких-либо изменений в sshd_config. Интересно, что еще вы изменили в своей конфигурации, чтобы отключить вход в систему root.
Обратите внимание, что обычно не рекомендуется использовать вариант PermitRootLogin yes.
Купить по умолчанию, это НЕ разрешает доступ root ssh. Я в этом совершенно уверен.
Больше ничего не изменилось.
я добавил пользователей только по рекомендации в Интернете.
Вы можете быть совершенно уверены в этом, но все равно ошибетесь. Настройки в /etc/ssh/sshd_config в CentOS по умолчанию разрешают root-доступ. Опубликуйте содержимое вашего файла /etc/ssh/sshd_config внутри тегов кода, чтобы сохранить форматирование.
Причина, по которой я начал искать решения/варианты, заключалась в том, что он не разрешал доступ по ssh для root сразу после установки (без каких-либо изменений или каких-либо настроек).
Кроме того, su работает, когда вы вошли в консоль как другой пользователь. Но не работает при ssh от другого пользователя. Я предполагаю, что ключевая проблема здесь в том, что у root почему-то нет доступа по ssh.
Возможно, я ошибаюсь.
Вот содержимое ssd_config
Хммм. Тот факт, что su не работает из сеанса ssh, кажется мне очень странным, и наиболее вероятным кандидатом, которого я могу придумать, будет то, что что-то неправильно помечено из selinux POV. Можете ли вы запустить `setenforce 0`, а затем попробовать еще раз и посмотреть, работает ли он? Это переводит selinux в разрешающий режим, поэтому он выполняет все действия по защите вас, включая запись журналов о том, что будет отклонено, но затем все равно разрешает доступ. Если это работает, запустите команду `aureport -a` и возьмите последние несколько строк вывода, посмотрите на правый конец каждой строки на наличие числа и вставьте это число в `ausearch -a nnnn` (где nnnn - это число ).
Отправьте здесь вывод команд ausearch для последних 2 или 3 строк в aureport -a.
Кстати, файл /etc/ssh/sshd_config по умолчанию содержит только следующие раскомментированные строки:
Всем известно, что системы Linux поставляются с доступом пользователя root, а по умолчанию доступ root включен для внешнего мира.
Из соображений безопасности не рекомендуется включать root-доступ по ssh для неавторизованных пользователей. Потому что любой хакер может попытаться взломать ваш пароль и получить доступ к вашей системе.
Поэтому лучше иметь другую учетную запись, которую вы регулярно используете, а затем переключаться на пользователя root с помощью команды «su –», когда это необходимо. Прежде чем мы начнем, убедитесь, что у вас есть обычная учетная запись пользователя, и с ней вы можете использовать su или sudo, чтобы получить root-доступ.
В Linux очень легко создать отдельную учетную запись, войти в систему как пользователь root и просто запустить команду adduser, чтобы создать отдельного пользователя. После создания пользователя просто выполните следующие действия, чтобы отключить вход в систему root через SSH.
Мы используем главный файл конфигурации sshd, чтобы отключить вход в систему root, и это может уменьшить и помешать хакеру получить root-доступ к вашему Linux-компьютеру. Мы также увидим, как снова включить root-доступ, а также как ограничить доступ ssh на основе списка пользователей.
Отключить корневой вход SSH
Чтобы отключить вход в систему root, откройте основной файл конфигурации ssh /etc/ssh/sshd_config в любом редакторе по вашему выбору.
Найдите следующую строку в файле.
Далее нам нужно перезапустить службу демона SSH.
Теперь попробуйте войти в систему с правами root, вы получите сообщение об ошибке «Отказано в доступе».
Итак, с этого момента войдите в систему как обычный пользователь, а затем используйте команду «su», чтобы переключиться на пользователя root.
Включить корневой вход SSH
Чтобы включить ведение журнала ssh root, откройте файл /etc/ssh/sshd_config.
Перезапустите службу sshd.
Теперь попробуйте войти в систему с правами root.
Ограничение входа пользователей через SSH
Если у вас есть большое количество учетных записей пользователей в системах, имеет смысл ограничить удаленный доступ по SSH тем пользователям, которым он действительно нужен. Откройте файл /etc/ssh/sshd_config.
Добавьте строку AllowUsers внизу файла с пробелом, разделенным списком имен пользователей. Например, пользователи tecmint и sheena имеют доступ к удаленному протоколу ssh.
Теперь перезапустите службу ssh.
Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.
Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:
TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.
Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Похожие записи
20 мыслей на тему “Отключить или включить корневой вход по SSH и ограничить доступ по SSH в Linux”
Лучше и безопаснее использовать «экран» в учетной записи пользователя.
и вернуть сеанс
также возможна сессия с другими именами mylogin1, mylogin2, mylogin3 для мультисессии с 4/10 сессиями по «экрану»
попробуйте и удачного взлома
Он комментирует эту конкретную строку/команду.
Я предпочитаю создать группу ssh, добавить ее в эту группу и разрешить эту группу в sshd_config, но в любом случае цель будет достигнута!
Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Все мы знаем, что в CentOS доступ root для внешнего мира по умолчанию отключен. Это означает, что вы не можете напрямую войти в систему как пользователь root через SSH, но вы все равно можете продолжить и использовать привилегии root, используя вместо этого команду «sudo».
Однако иногда удобнее войти в систему как привилегированный пользователь. Вот почему в этой статье мы поговорим о том, как включить, отключить и защитить вход по SSH на ваш сервер при попытке входа в систему с правами root.
Прежде чем мы начнем, нам необходимо выполнить несколько требований, прежде чем продолжить работу с этим руководством.
Оглавление
Требования:
- Установлена CentOS;
- Доступ к вашему VPS через SSH;
- Обычный пользователь, который может использовать «su» или «sudo» для получения привилегий root;
Войдите на свой CentOS VPS через SSH как обычный пользователь с привилегиями sudo:
Отключить корневой вход SSH
Отключить корневой вход SSH в CentOS 7. Чтобы отключить корневой вход, нам нужно изменить основной файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
Теперь найдите эту строку ниже в файле.
Выполнив следующую команду, мы перезапустим службу демона SSH:
Теперь, когда мы пытаемся войти в систему как пользователь root, вы должны получить сообщение об ошибке «Отказано в доступе».
На данный момент вы не можете войти в систему напрямую как пользователь root, но вы все еще можете войти в систему как обычный пользователь с привилегиями sudo и использовать команду «sudo» или «su», чтобы переключиться на пользователя root. Например:
Включить корневой вход SSH
Чтобы разрешить вход в систему с правами root, нам нужно изменить основной файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
Найдите следующую строку в файле.
После сохранения файла необходимо перезапустить службу sshd.
Теперь вы можете попробовать войти в систему напрямую как пользователь root.
Безопасный доступ по SSH в CentOS 7
В этом разделе мы дадим вам несколько простых советов о том, как защитить доступ по SSH к вашему серверу CentOS 7.
Изменение порта SSH-сервера
Чтобы изменить стандартный порт прослушивания, вам необходимо изменить файл конфигурации SSH с помощью следующей команды:
Далее вам нужно найти строку, которая относится к номеру порта. После того, как вы найдете номер порта (значение по умолчанию должно быть 22), вы можете изменить номер порта по умолчанию на нужный вам номер.
Когда вы закончите редактирование, нажмите Ctrl+O, а затем нажмите Ctrl+X, чтобы сохранить и выйти.
Перезапустите службу демона SSH, выполнив команду:
Отключение протокола SSH 1
Существует две версии протоколов SSH: SSHv1 и SSHv2. Использование протокола SSHv1 не рекомендуется, поскольку это более старая версия и менее безопасная, чем более новый протокол SSHv2. В следующем разделе мы отключим SSHv1. Если вам нужна эта версия по какой-либо причине, вы можете игнорировать эту часть.
Откройте файл конфигурации SSH с помощью этой команды:
Раскомментировать строку
Теперь мы должны перезапустить службу SSH, чтобы новая конфигурация вступила в силу. Мы можем сделать это, выполнив эту команду:
Отключение root-доступа также является одним из способов защиты вашего SSH-сервера, который мы показали вам в начале статьи.
В этом руководстве мы узнали, как отключить и включить вход root в SSH.
Мы также узнали, как защитить сервер SSH, изменив номер порта, отключив доступ root и отключив протокол SSH SSHv1.
Если вы являетесь одним из наших управляемых клиентов хостинга VPS, вы можете просто попросить наших системных администраторов включить или отключить вход с правами root через SSH на вашем сервере CentOS. Они доступны круглосуточно и без выходных и немедленно обработают ваш запрос.
Если вы считаете эту запись в блоге полезной, поделитесь ею со своими друзьями в социальных сетях. Если у вас есть какие-либо вопросы, оставьте комментарий ниже, и мы ответим на него. Спасибо!
Для подключения к серверу SSH на клиентском компьютере должны быть установлены клиентские программы OpenSSH.
На компьютере с CentOS или RHEL вы можете установить клиентские программы OpenSSH с помощью следующей команды:
Должны быть установлены клиентские программы SSH. В моем случае он уже установлен.
Если вы хотите подключиться к серверу CentOS 8 с помощью SSH, на вашем компьютере с CentOS 8 должно быть установлено программное обеспечение сервера SSH.
Чтобы установить программное обеспечение SSH-сервера на вашем компьютере с CentOS 8, выполните следующую команду:
Должен быть установлен серверный пакет OpenSSH. В моем случае он уже установлен.
Управление службой сервера OpenSSH:
После того как на вашем компьютере с CentOS 8 установлено серверное программное обеспечение OpenSSH, проверьте, запущена ли служба sshd, с помощью следующей команды:
Как видите, служба sshd активна/работает. Он также может запускаться автоматически при загрузке системы.
SSH-сервер прослушивает все сетевые интерфейсы (0.0.0.0) через порт 22 по умолчанию.
Если служба sshd по какой-то причине не запущена на вашем компьютере с CentOS 8, вы можете запустить ее вручную с помощью следующей команды:
Если служба sshd не включена для автоматического запуска при загрузке системы, вы можете добавить ее в автозагрузку системы следующим образом:
Точно так же, если вы не хотите, чтобы служба SSH автоматически запускалась при загрузке системы (из соображений безопасности), удалите службу sshd из автозагрузки системы следующим образом:
Если вы хотите остановить службу sshd после настройки сервера CentOS 8, вы можете сделать это следующим образом:
Если вы измените файлы конфигурации сервера SSH, то, чтобы изменения вступили в силу, вам придется перезапустить службу sshd. Вы можете перезапустить службу sshd следующим образом:
Подключение к SSH-серверу:
Чтобы подключиться к серверу SSH, вам необходимо знать IP-адрес вашего сервера CentOS 8, если у вас установлено программное обеспечение сервера SSH.
Чтобы найти IP-адрес, выполните следующую команду на своем компьютере с CentOS 8.
Как видите, IP-адрес моего компьютера с CentOS 8 — 192.168.21.226. Для вас это будет иначе. Поэтому обязательно замените его своим.
Теперь с клиентского компьютера (должны быть установлены клиентские программы SSH) выполните следующую команду, чтобы подключиться к серверу CentOS 8 с помощью SSH:
Теперь введите yes и нажмите .
Теперь введите пароль вашего имени_пользователя и нажмите .
Вы должны войти в систему с CentOS 8 через SSH.
Теперь вы можете запустить любую команду на сервере CentOS 8 из клиента.
После завершения закройте сеанс SSH следующим образом:
Сеанс SSH должен быть закрыт.
Файлы конфигурации SSH:
В CentOS 8 файлы конфигурации сервера и клиента SSH находятся в каталоге /etc/ssh.
Содержимое каталога /etc/ssh показано на снимке экрана ниже.
Здесь ssh_config и ssh_config.d/05-redhat.conf — это файлы конфигурации клиента SSH.
sshd_config — это файл конфигурации сервера SSH. Файл sshd_config находится в центре внимания в этой статье.
Настройка SSH-сервера:
Чтобы отредактировать файл sshd_config, вы можете использовать стандартный текстовый редактор CentOS 8 vi.
Чтобы открыть файл конфигурации /etc/ssh/sshd_config в текстовом редакторе vi, выполните следующую команду:
Должен быть открыт файл конфигурации. Чтобы изменить файл, нажмите i, чтобы перейти в режим вставки.
После редактирования файла конфигурации нажмите , чтобы вернуться в командный режим.
Если вы хотите сохранить файл и закрыть текстовый редактор vi, введите :wq! и нажмите .
Если вы хотите отменить изменения и закрыть текстовый редактор vi, введите :q! и нажмите .
Изменение порта SSH-сервера:
Если вы хотите изменить порт SSH-сервера с порта 22 по умолчанию на какой-либо другой (скажем, 8111) из соображений безопасности, раскомментируйте строку, отмеченную на снимке экрана ниже, в файле конфигурации sshd_config.
После установки порта файл конфигурации должен выглядеть следующим образом. Когда закончите, сохраните файл.
Теперь настройте SELinux, чтобы разрешить порт 8111 для SSH, с помощью следующей команды:
Прежде чем завершить изменение порта, обязательно разрешите трафик на новый порт через брандмауэр, если он запущен. Например, следующая последовательность команд:
Теперь перезапустите службу sshd следующим образом:
С этого момента сервер SSH должен работать на порту 8111.
Изменение адреса прослушивания:
Если вы хотите, чтобы сервер SSH прослушивал только один сетевой интерфейс, добавьте следующую строку в файл sshd_config.
Адрес прослушивания IP_ADDRESS_OF_INTERFACE
После установки ListenAddress файл конфигурации должен выглядеть следующим образом.
Отключить вход root:
По умолчанию CentOS 8 разрешает вход пользователю root через SSH. Если вы этого не хотите, измените PermitRootLogin yes на PermitRootLogin no в файле конфигурации sshd_config.
Файл конфигурации должен выглядеть следующим образом, если для параметра PermisRootLogin задано значение no.
Настройка максимального количества сеансов и максимального количества попыток ввода пароля:
Если вы хотите ограничить количество пользователей, которые могут оставаться на вашем сервере CentOS 8 через SSH, раскомментируйте MaxSessions в файле sshd_config и установите желаемый номер сеанса (по умолчанию 10).
Файл конфигурации должен выглядеть следующим образом, если для параметра MaxSessions установлено значение 10.
Таким же образом вы можете установить ограничение на количество неудачных попыток входа в систему. Просто раскомментируйте MaxAuthTries и укажите, сколько неудачных попыток входа вы хотите разрешить перед закрытием соединения.
Файл конфигурации должен выглядеть следующим образом, если для параметра MaxAuthTries задано значение 3.
Итак, вот как установить и настроить SSH-сервер в CentOS 8. Спасибо, что прочитали эту статью.
Читайте также: