Перейти к содержанию

Пользователи, права и безопасный 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 в сборке.

Учётные записи

Посмотреть пользователя и его группы:

id
id ИМЯ_ПОЛЬЗОВАТЕЛЯ
getent passwd ИМЯ_ПОЛЬЗОВАТЕЛЯ

Создавать пользователей можно стандартным useradd, если он поставляется в профиле. Пример действий через консоль:

# Подставьте согласованное имя реального сотрудника:
# sudo useradd -m -s /bin/bash adminuser
# sudo passwd adminuser

Команды намеренно закомментированы: организация должна определить политику локальных пользователей, групп, sudo и паролей. Нельзя автоматически предполагать, что группа wheel уже настроена на повышение прав.

Настроить вход по SSH-ключу

На компьютере администратора (не на сервере) создайте отдельный ключ:

ssh-keygen -t ed25519 -a 100 -f ~/.ssh/niceos_admin -C 'niceos-admin'

Содержимое публичного файла ~/.ssh/niceos_admin.pub добавьте в ~adminuser/.ssh/authorized_keys на сервере по утверждённому каналу. На сервере каталог ~/.ssh должен принадлежать пользователю и иметь права 0700, файл authorized_keys — 0600. Не переносите закрытый ключ на сервер.

Проверка с рабочего компьютера:

ssh -i ~/.ssh/niceos_admin -o IdentitiesOnly=yes \
  adminuser@АДРЕС_СЕРВЕРА

В случае нестандартного 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)'

Лишь затем решайте, требуется ли перезагрузка конфигурации службы и допустима ли она в рабочее время. Проверьте новый вход до закрытия текущей сессии.

Диагностика

journalctl -u sshd -b --no-pager -n 120
sudo iptables -L INPUT -n -v --line-numbers
ss -lntp

Ошибки SSH могут возникать из-за прав на .ssh, неправильного пользователя/ключа, разрешённых алгоритмов, PAM, сетевого firewall, облачной ACL либо запрета входа root. Не отключайте защиту без определения причины.

Далее: iptables, Bash, первоначальная настройка.