Подробный гайд: Установка и настройка openssh 8.0 для Alt Linux

Подробный гайд по установке и безопасной настройке OpenSSH 8.0 в ОС ALT Linux. Полная инструкция по сборке из исходников, конфигурации sshd и iptables.

2026.06.26                  


Подробный гайд: Установка и настройка openssh 8.0 для Alt LinuxПодробный гайд: Установка и настройка openssh 8.0 для Alt Linux

Важное замечание:

OpenSSH версии 8.0 (вышел в 2019 году) на сегодняшний день считается устаревшим. В официальных репозиториях современных версий ALT Linux (p10, Sisyphus) уже используются более новые и безопасные версии (8.8, 9.x и выше).

Поэтому в гайде я рассмотрю два сценария:

  1. Стандартная установка из репозиториев ALT Linux (рекомендуется для безопасности).
  2. Сборка из исходного кода строго версии 8.0p1 (если эта версия требуется по жестким условиям совместимости или регламентам).

Сценарий 1: Стандартная установка из репозиториев (Рекомендуется)

Если вам не критична именно версия 8.0, а нужен просто рабочий и безопасный SSH-сервер, используйте штатные пакеты.

1. Обновите списки пакетов и установите сервер и клиент:

   su -
   apt-get update
   apt-get install openssh-server openssh-clients

2. Перейдите к Части 3 (Настройка конфигурации).


Сценарий 2: Установка строго OpenSSH 8.0p1 (Сборка из исходников)

Если вам необходима именно версия 8.0, ее нужно скомпилировать вручную, так как в репозиториях ее уже нет.

Шаг 2.1: Подготовка системы и установка зависимостей

Установите необходимые инструменты и библиотеки для компиляции:

apt-get update
apt-get install gcc make zlib-devel libopenssl-devel pam-devel wget

Шаг 2.2: Создание пользователя и директорий

OpenSSH требует непривилегированного пользователя для разделения привилегий (privilege separation):

# Создаем пользователя sshd, если его нет
id sshd &>/dev/null || useradd -r -d /var/lib/sshd -s /sbin/nologin sshd

# Создаем директорию для privsep
mkdir -p /var/lib/sshd
chown root:sys /var/lib/sshd
chmod 755 /var/lib/sshd

Шаг 2.3: Скачивание и компиляция

1. Скачайте архив с исходным кодом OpenSSH 8.0p1:

   cd /usr/src
   wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
   tar -xzf openssh-8.0p1.tar.gz
   cd openssh-8.0p1

2. Настройте сборку (флаги оптимизированы под ALT Linux):

   ./configure \
     --prefix=/usr \
     --sysconfdir=/etc/ssh \
     --with-pam \
     --with-privsep-path=/var/lib/sshd \
     --with-privsep-user=sshd \
     --with-md5-passwords \
     --with-ssl-engine

3. Скомпилируйте и установите:

   make
   make install

Примечание:

Если вы устанавливаете это на рабочую машину, где уже есть SSH, make install перезапишет бинарные файлы. Убедитесь, что у вас есть альтернативный доступ (например, через консоль провайдера/гипервизора) на случай, если что-то пойдет не так.


Шаг 2.4: Генерация хост-ключей

Если ключи не сгенерировались автоматически:

ssh-keygen -A

Часть 3: Настройка конфигурации (/etc/ssh/sshd_config)

Независимо от того, как вы устанавливали OpenSSH, конфигурационный файл находится по пути /etc/ssh/sshd_config.


Откройте его в текстовом редакторе (например, nano или vim):

nano /etc/ssh/sshd_config

Вот рекомендуемые параметры для безопасной и корректной работы (найдите эти строки и раскомментируйте/измените их):

# 1. Сетевые параметры
Port 2222                       # Рекомендуется сменить стандартный порт 22 на другой (например, 2222) для снижения шума от ботов
ListenAddress 0.0.0.0           # Слушать все IPv4 интерфейсы
# ListenAddress ::              # Раскомментируйте, если нужен IPv6

# 2. Аутентификация
PermitRootLogin no              # Запретить прямой вход под root (ОЧЕНЬ ВАЖНО)
PasswordAuthentication no       # Отключаем вход по паролям (только по ключам!)
PubkeyAuthentication yes        # Включаем вход по SSH-ключам
PermitEmptyPasswords no         # Запретить пустые пароли

# 3. Ограничения и безопасность
MaxAuthTries 3                  # Максимальное количество попыток ввода пароля/ключа
MaxSessions 5                   # Максимальное количество сессий на одно соединение
LoginGraceTime 60               # Время на успешную аутентификацию (в секундах)
ClientAliveInterval 300         # Проверка "живости" клиента каждые 5 минут
ClientAliveCountMax 2           # Количество проверок перед разрывом соединения

# 4. Доступ (опционально, но рекомендуется)
# AllowUsers denis admin        # Разрешить вход только конкретным пользователям
# AllowGroups sshusers          # Или только участникам группы sshusers

# 5. Логирование
LogLevel VERBOSE                # Подробное логирование для аудита

Совет:

Если вы отключаете PasswordAuthentication, обязательно убедитесь, что вы уже добавили свой публичный ключ в ~/.ssh/authorized_keys на сервере, иначе вы потеряете доступ!


Часть 4: Управление службой в ALT Linux

В ALT Linux используется systemd. Проверьте, запущен ли сервис и добавьте его в автозагрузку.

1. Перезапустите службу, чтобы применить новые настройки:

   systemctl restart sshd

2. Включите автозапуск при загрузке системы:

   systemctl enable sshd

3. Проверьте статус (убедитесь, что нет ошибок Active: active (running)):

   systemctl status sshd

Часть 5: Настройка межсетевого экрана (Firewall)

В ALT Linux по умолчанию используется iptables. Если вы сменили порт (например, на 2222), его нужно открыть.

1. Добавьте правило в iptables:

   # Если порт 22:
   iptables -A INPUT -p tcp --dport 22 -j ACCEPT

   # Если вы сменили порт на 2222:
   iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

2. Сохраните правила iptables, чтобы они не сбросились после перезагрузки (стандартный механизм ALT Linux):

   iptables-save > /etc/sysconfig/iptables

Часть 6: Генерация SSH-ключей (на стороне клиента)

Так как мы отключили вход по паролю, вам нужно сгенерировать ключи на вашем рабочем компьютере (не на сервере).

В Linux/macOS или Windows (PowerShell):

# Генерация современного и безопасного ключа Ed25519
ssh-keygen -t ed25519 -C "des.ser@work"

# Или RSA 4096, если нужна совместимость со старыми системами
ssh-keygen -t rsa -b 4096 -C "des.ser@work"

Копирование ключа на сервер:

# Замените user и IP/порт на свои
ssh-copy-id -p 2222 user@server_ip

После этого вы сможете подключаться без ввода пароля:

ssh -p 2222 user@server_ip

Важно

После выполнения этих шагов ваш SSH-сервер будет полностью настроен. Для финальной проверки не закрывайте текущую сессию SSH. Откройте новое окно терминала и попробуйте подключиться с новыми настройками. Если все работает — можно закрывать старую сессию.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта