Подробный гайд: Подключение к удалённому компьютеру по SSH в Astra Linux (общее)

Пошаговая инструкция по настройке SSH в Astra Linux: установка сервера, генерация ключей, безопасное подключение к удалённому ПК, устранение ошибок.

2026.05.12                  


Подробный гайд: Подключение к удалённому компьютеру по SSH в Astra Linux (общее)Подробный гайд: Подключение к удалённому компьютеру по SSH в Astra Linux (общее) Данный гайд охватывает настройку SSH-сервера на удалённой машине, безопасное подключение с клиентского ПК, а также учитывает особенности Astra Linux (включая различия между Common Edition и Special Edition).


Требования

  • Два компьютера в одной сети (или доступных друг другу по IP/домену)
  • Права sudo или учётная запись root на удалённом компьютере
  • Astra Linux 1.8 / 2.12+ (работает аналогично для CE и SE, с оговорками по безопасности)
  • Базовые знания работы в терминале

1. Настройка SSH-сервера на удалённом компьютере

1.1 Установка пакетов

sudo apt update
sudo apt install openssh-server openssh-client

В Astra Linux пакет openssh-server обычно уже установлен, но проверка не повредит.

1.2 Запуск и добавление в автозагрузку

sudo systemctl enable --now ssh
sudo systemctl status ssh

Ожидаемый вывод: active (running)

1.3 Базовая конфигурация

Откройте файл конфигурации:

sudo nano /etc/ssh/sshd_config

Рекомендуемые параметры (раскомментируйте или измените):

Port 22
PermitRootLogin prohibit-password
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no

PermitRootLogin prohibit-password разрешает вход root только по ключам. Для повышения безопасности рекомендуется позже сменить на no.

Примените изменения:

sudo systemctl restart ssh

2. Настройка сетевого экрана

Вариант A:

ufw (рекомендуется для CE)

sudo apt install ufw
sudo ufw allow ssh
sudo ufw enable
sudo ufw status

Вариант B:

iptables (если используется в вашей сборке)

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Astra SE:

Если включён мандатный контроль доступа, убедитесь, что sshd имеет корректный контекст безопасности. В типовых установках Astra SE правило уже добавлено в политики Parsec. При блокировке проверьте логи:

sudo dmesg | grep sshd

3. Подключение с клиентской машины

3.1 Узнайте IP удалённого ПК

На сервере выполните:

ip -4 addr show | grep inet
# или
hostname -I

3.2 Базовое подключение

ssh <имя_пользователя>@<IP_удалённого_ПК>

Пример:

ssh admin@192.168.1.50

При первом подключении подтвердите fingerprint (yes), затем введите пароль.

3.3 Подключение по нестандартному порту

ssh -p 2222 admin@192.168.1.50

4. Аутентификация по SSH-ключам (рекомендуется)

4.1 Генерация пары ключей (на клиенте)

ssh-keygen -t ed25519 -C "astra-ssh-key"

Нажмите Enter для сохранения по умолчанию, при желании укажите парольную фразу.

4.2 Копирование публичного ключа на сервер

ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@192.168.1.50

Если ssh-copy-id отсутствует: вручную скопируйте содержимое ~/.ssh/id_ed25519.pub в ~/.ssh/authorized_keys на сервере и установите права:

chmod 600 ~/.ssh/authorized_keys

4.3 Проверка

ssh admin@192.168.1.50

Подключение должно произойти без запроса пароля.

4.4 (Опционально) Отключение парольной аутентификации

На сервере в /etc/ssh/sshd_config:

PasswordAuthentication no
sudo systemctl restart ssh

Убедитесь, что хотя бы один ключ уже добавлен, иначе потеряете доступ.


5. Особенности Astra Linux

Аспект Common Edition (CE) Special Edition (SE)
Пакеты Стандартные Debian-совместимые Те же, но с проверкой целостности и подписями
Мандатный контроль Отсутствует Включён по умолчанию. sshd обычно в доверенном контексте. При кастомных политиках может потребоваться chast или настройка меток
Интеграция с ALD Опционально Частая. При входе доменных пользователей SSH может использовать Kerberos/LDAP
Логирование /var/log/auth.log Те же логи, плюс аудит через auditd и astra-audit

Если в SE подключение блокируется, проверьте:

sudo astra-secinfo status
sudo journalctl -u ssh -n 50

6. Устранение типовых проблем

Симптом Причина Решение
Connection refused Сервис не запущен или порт закрыт sudo systemctl status ssh, проверьте файрвол
Permission denied (publickey,password) Неверный пароль/ключ или отключена аутентификация Проверьте sshd_config, логи journalctl -u ssh
Host key verification failed Сменился fingerprint сервера Удалите старый ключ: ssh-keygen -R <IP>
Медленное подключение Обратный DNS-резолвинг В sshd_config: UseDNS no + рестарт
Блокировка в Astra SE Мандатные ограничения Проверьте контекст выполнения ps -Z -C sshd, при необходимости обратитесь к администратору безопасности

Рекомендации по безопасности

  1. Никогда не разрешайте PermitRootLogin yes
  2. Используйте ed25519 или rsa-4096 ключи с парольной фразой
  3. Смените стандартный порт (опционально, не панацея): Port 2222
4. Установите fail2ban:
   sudo apt install fail2ban
   sudo systemctl enable --now fail2ban
  1. В Astra SE соблюдайте требования регламента безопасности вашего объекта (при необходимости включайте аудит SSH-сессий)
  2. Регулярно обновляйте систему: sudo apt update && sudo apt upgrade

Полезные команды

Задача Команда
Проверить статус SSH sudo systemctl status ssh
Просмотр активных сессий who или ss -tnp | grep :22
Отладочный режим клиента ssh -vvv user@host
Копирование файла по SSH scp file.txt user@host:/path/
Мониторинг логов в реальном времени sudo journalctl -u ssh -f