Подробный гайд: Подключение к удалённому компьютеру по 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, при необходимости обратитесь к администратору безопасности |
Рекомендации по безопасности
- Никогда не разрешайте
PermitRootLogin yes - Используйте
ed25519илиrsa-4096ключи с парольной фразой - Смените стандартный порт (опционально, не панацея):
Port 2222
4. Установите fail2ban:
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
- В Astra SE соблюдайте требования регламента безопасности вашего объекта (при необходимости включайте аудит SSH-сессий)
- Регулярно обновляйте систему:
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 |