Управление параметрами ssh_config. Настройка PermitRootLogin
SSH (Secure Shell ) - сетевой протокол, использующий криптографию с открытым ключом, позволяющий авторизованным пользователям получать удаленный доступ к устройству с помощью ключей SSH.
SSH шифрует весь трафик между клиентом и сервером во время его передачи. Это означает, что любой, кто “подслушивает” трафик, например, путем перехвата пакетов, не сможет получить доступ и расшифровать передаваемые данные.
Secure Shell имеет две основные функции безопасности: шифрование и аутентификацию:
- шифрование означает, что только уполномоченные лица могут получить доступ к передаваемым данным.
- аутентификация гарантирует, что пользователь, получающий доступ к данным, на самом деле является владельцем.
В целях безопасности, как отдельный метод защиты от взлома сервера и кражи данных логина есть отключение прямого root входа пользователю. В некоторых дистрибутивах Linux (в их более новых версиях) эта опции стоит уже по-умолчанию. Немного разберем, что такое не прямой вход на сервер и что дает ее отключение. При прямом подключение сразу идет вход на сервер пользователя с правами root. Если этот параметр отключить и сделать непрямой вход, вход сначала необходимо выполнить с под обычного пользователя и потом через sudo su выполнить логин с правами root. Предварительно следует добавить этому обычному пользователю права доступа на такой вход.
Проверить актуальные настройки для вашего сервера можно в файле sshd_config. Чтобы открыть его и прочитать содержимое можно использовать команду:
cat /etc/ssh/sshd_config
На выводе вы получите список всех активных конфигураций для вашей услуги, за прямой вход отвечает параметр PermitRootLogin, ищем его в списке. Если напротив него указано “yes” значит прямой вход разрешен, если видете “no” значит прямой вход невозможен.
# cat /etc/ssh/sshd_config
DenyGroups no-ssh
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
Include /etc/ssh/sshd_config.d/*.confPort 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
Сначала добавим нового отдельного пользователя, если таков еще не существует, этот шаг пропускаем. Для создания нового пользователя можно использовать команду:
adduser username
где nameuser - имя пользователя
После необходимо. чтобы этот пользователь имел права администратора добавить его в группу sudo. Это можно сделать через команду:
adduser username sudo
Переходим к редактированию файла sshd_config, напротив параметра меняем значение на “no”. Для вступление в силу измененных конфигураций перезапустить службу через команду:
systemctl restart sshd
Готово, прямой вход отключен. Аналогично при необходимости можно включить прямой вход на сервер.