Мы все знаем, что CentOS поставляется с правами доступа root для внешнего мира по умолчанию. Это означает, что вы не можете напрямую войти в систему как пользователь root через SSH, но вы все равно можете использовать root-привилегии, используя вместо этого команду «sudo». Однако иногда удобнее входить в систему прямо в качестве пользователя root. Вот почему в этой статье мы поговорим о том, как включить, отключить и защитить регистрацию SSH на сервере при попытке входа в систему с правами администратора.
Прежде чем мы начнем, нам нужно будет выполнить несколько требований, прежде чем продолжить эту статью.
Требования:
- Установленный CentOS ;
- Доступ через SSH к вашему VPS;
- Обычный пользователь, который может использовать «su» или «sudo» для получения привилегий root;
Войдите в свой CentOS VPS через SSH в качестве обычного пользователя с привилегиями sudo:
ssh user_name@Server_IP_Address -p Port_Number
Отключить вход root через SSH
Чтобы отключить вход в корневой каталог, нам нужно изменить главный файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
nano /etc/ssh/sshd_config
Теперь найдите эту строку ниже в файле.
#PermitRootLogin no
Раскомментируйте строку, удалив «#» с начала строки. Строка в файле должна выглядеть так:
PermitRootLogin no
Выполняя следующую команду, мы перезапустим службу демона SSH:
systemctl restart sshd.service
Теперь, когда мы попытаемся войти в систему как пользователь root, вы должны получить ошибку “Access Denied”.
login as: root root@Server_IP_Address password: Access denied root@Server_IP_Address password:
На этом этапе вы не можете входить в систему напрямую как root, но вы можете войти в систему как обычный пользователь с привилегиями sudo и использовать команду «sudo» или «su» для переключения на пользователя root. Например:
login as: username username@Server_IP_Address password: Last login: Fri Oct 05 22:48:21 2018 from IP_address [username@hostname ~]$ su - Password: Last login: Fri Oct 05 22:52:45 CDT 2018 from IP_address on pts/1 [root@hostname ~]#
Включить SSH Root Login
Чтобы включить ведение журнала в качестве пользователя root, нам необходимо изменить основной файл конфигурации ssh «sshd_config» с помощью текстового редактора по вашему выбору. В нашем примере мы будем использовать nano в качестве редактора.
nano /etc/ssh/sshd_config
Найдите в файле следующую строку.
PermitRootLogin no
Закомментируйте строку, добавив «#» в начале строки или изменив «нет» на «да», как в приведенных ниже примерах.
#PermitRootLogin no
или же
PermitRootLogin yes
После сохранения файла мы должны перезапустить службу sshd.
systemctl restart sshd.service
Теперь вы можете попытаться войти в систему напрямую как пользователь root.
login as: root root@Server_IP_Address password: Last login: Fri Oct 05 22:55:23 2018 from IP_address [root@hostname ~]#
Безопасный доступ к SSH в CentOS 7
В этом разделе мы предоставим вам несколько простых советов о том, как защитить SSH-доступ на вашем сервере CentOS 7.
Изменение порта сервера SSH
Чтобы изменить стандартный порт прослушивания, вам необходимо изменить конфигурационный файл SSH, используя следующую команду:
nano /etc/ssh/sshd_config
Затем вам нужно найти строку, которая ссылается на номер порта. После того, как вы найдете номер порта, который (значение по умолчанию должно быть 22), вы можете изменить значение по умолчанию на нужный номер.
Когда вы закончите редактирование, нажмите Ctrl + O, а затем нажмите Ctrl + X, чтобы сохранить и выйти.
Перезапустите службу демона SSH, выполнив команду:
systemctl restart sshd.service
Отключение протокола SSHv1
Существует две версии SSH-протоколов: SSHv1 и SSHv2. Использование протокола SSHv1 не рекомендуется, поскольку это более старая версия и менее безопасна, чем новый протокол SSHv2. В следующем разделе мы отключим SSHv1. Если вам нужна эта версия по какой-либо причине, вы можете игнорировать эту часть.
Откройте конфигурационный файл SSH с помощью этой команды:
nano /etc/ssh/sshd_config
Раскомментируйте линию
Protocol 2,1
и отредактируйте ее:
Protocol 2
Теперь мы должны перезапустить службу SSH, чтобы новая конфигурация вступила в силу. Мы можем сделать это, выполнив эту команду:
systemctl restart sshd.service
Отключение доступа root также является одним из способов защитить ваш SSH-сервер, который мы показали вам в начале статьи.
В этой статье мы узнали, как отключить и разрешить вход root в SSH. Мы также узнали, как защитить SSH-сервер, изменив номер порта, отключив доступ root и отключив SSH-протокол SSHv1.