Пользователи, права и безопасный SSH-доступ¶
В НАЙС.ОС CLOUD административный доступ должен быть управляемым: отдельные учётные записи, минимум необходимых привилегий, аутентификация по SSH-ключам и ограниченный доступ через iptables. В публичном описании минимального профиля root первоначально создаётся при установке, но прямой вход root по SSH запрещён.
Не запирайте себе доступ
Прежде чем менять sshd_config, проверяйте консоль гипервизора. Не выключайте парольную аутентификацию, пока не проверили вход по ключу в новом SSH-сеансе. Не закрывайте последний работающий сеанс администратора до завершения проверки.
Проверить текущую конфигурацию¶
systemctl status sshd --no-pager
sudo sshd -t
sudo sshd -T | grep -E '^(port|permitrootlogin|passwordauthentication|pubkeyauthentication|authorizedkeysfile)'
ss -lntp
sshd -t проверяет синтаксис; sshd -T показывает эффективные параметры. В НАЙС.ОС пакет OpenSSH устанавливает конфигурационный файл /etc/ssh/sshd_config.d/50-niceos.conf, который подхватывается через Include. Точное содержимое зависит от файлов Source в сборке.
Учётные записи¶
Посмотреть пользователя и его группы:
Создавать пользователей можно стандартным useradd, если он поставляется в профиле. Пример действий через консоль:
# Подставьте согласованное имя реального сотрудника:
# sudo useradd -m -s /bin/bash adminuser
# sudo passwd adminuser
Команды намеренно закомментированы: организация должна определить политику локальных пользователей, групп, sudo и паролей. Нельзя автоматически предполагать, что группа wheel уже настроена на повышение прав.
Настроить вход по SSH-ключу¶
На компьютере администратора (не на сервере) создайте отдельный ключ:
Содержимое публичного файла ~/.ssh/niceos_admin.pub добавьте в ~adminuser/.ssh/authorized_keys на сервере по утверждённому каналу. На сервере каталог ~/.ssh должен принадлежать пользователю и иметь права 0700, файл authorized_keys — 0600. Не переносите закрытый ключ на сервер.
Проверка с рабочего компьютера:
В случае нестандартного SSH-порта добавьте -p НОМЕР_ПОРТА. Проверьте и TCP-доступ через iptables на реальный порт SSH.
Изменение конфигурации SSH¶
Предпочтительнее собственный файл в /etc/ssh/sshd_config.d/, но сначала изучите существующие настройки и правила порядка обработки OpenSSH Include. Ошибочный drop-in может не перекрыть более раннее правило.
После изменения:
sudo sshd -t
sudo sshd -T | grep -E '^(port|permitrootlogin|passwordauthentication|pubkeyauthentication)'
Лишь затем решайте, требуется ли перезагрузка конфигурации службы и допустима ли она в рабочее время. Проверьте новый вход до закрытия текущей сессии.
Диагностика¶
Ошибки SSH могут возникать из-за прав на .ssh, неправильного пользователя/ключа, разрешённых алгоритмов, PAM, сетевого firewall, облачной ACL либо запрета входа root. Не отключайте защиту без определения причины.
Далее: iptables, Bash, первоначальная настройка.