Подробный гайд: Установка и настройка SSH на Astra Linux 1.8
Важно:
Данный гайд подходит для Astra Linux Special Edition 1.8 и Common Edition. Учитывайте требования безопасности вашей организации.
Шаг 1: Установка SSH-сервера
По умолчанию в Astra Linux установлен только SSH-клиент (openssh-client).
Для установки сервера выполните:
sudo apt update
sudo apt install ssh
Пакет ssh устанавливает одновременно и клиент (openssh-client), и сервер (openssh-server).
Альтернативные способы установки:
- При установке ОС — отметьте пункт «openssh-server» в мастере выбора ПО
- Через графический менеджер пакетов Synaptic
Шаг 2: Запуск и автозагрузка службы
После установки служба обычно запускается автоматически.
Проверьте статус:
systemctl status ssh
Если служба не активна, включите её:
# Включить автозагрузку при старте системы
sudo systemctl enable ssh
# Запустить службу немедленно
sudo systemctl start ssh
В Astra Linux Special Edition x.7 и новее (включая 1.8) SSH-сервер запускается автоматически после перезагрузки. В более старых версиях требуется ручная активация.
Шаг 3: Базовая настройка /etc/ssh/sshd_config
Откройте конфигурационный файл:
sudo nano /etc/ssh/sshd_config
Рекомендуемые параметры безопасности:
| Параметр | Рекомендуемое значение | Описание |
|---|---|---|
Port |
22345 (или другой) |
Смените стандартный порт 22 для снижения риска атак |
PermitRootLogin |
no |
Запретите вход под root напрямую |
PasswordAuthentication |
no |
Отключите вход по паролю (используйте ключи) |
MaxAuthTries |
3 |
Ограничьте количество попыток аутентификации |
LoginGraceTime |
30s |
Уменьшите время ожидания подключения |
Protocol |
2 |
Используйте только SSH Protocol 2 |
Пример конфигурации:
Port 22345
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
LoginGraceTime 30s
PubkeyAuthentication yes
X11Forwarding no
AllowTcpForwarding no
После изменений примените настройки:
sudo systemctl restart sshd
Внимание:
Перед отключением входа по паролю убедитесь, что настроили вход по ключам! Иначе вы можете потерять доступ к серверу.
Шаг 4: Настройка аутентификации по ключам (рекомендуется)
На клиентской машине:
# Генерация пары ключей
ssh-keygen -t rsa -b 4096
# Копирование публичного ключа на сервер
ssh-copy-id -p 22345 пользователь@IP_адрес_сервера
Проверка подключения:
ssh -p 22345 пользователь@IP_адрес_сервера
Если всё настроено верно — вход произойдёт без запроса пароля.
Шаг 5: Дополнительные меры защиты
1. Ограничение доступа по IP
Отредактируйте файлы:
/etc/hosts.deny — запретить все подключения:
sshd: ALL
/etc/hosts.allow — разрешить только доверенные адреса:
sshd: 192.168.1.0/24
sshd: 10.0.0.5
2. Использование Fail2Ban
Установите для защиты от подбора паролей:
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
3. Проверка конфигурации
Перед перезагрузкой службы проверьте синтаксис:
sudo sshd -t
Если команда не вернёт ошибок — конфигурация корректна.
Шаг 6: Проверка работы SSH
# Проверка, что порт слушается
sudo ss -tlnp | grep ssh
# Тест подключения с другого хоста
ssh -p 22345 пользователь@IP_сервера
# Просмотр логов при проблемах
sudo journalctl -u ssh -f
# или
sudo tail -f /var/log/auth.log
Устранение частых проблем
| Проблема | Решение |
|---|---|
Connection refused |
Проверьте, запущена ли служба: systemctl status ssh |
Permission denied |
Убедитесь, что пользователь существует и имеет право на вход |
| Не применяется конфиг | После правок всегда делайте systemctl restart sshd |
| Блокировка брандмауэром | Откройте порт: sudo firewall-cmd --add-port=22345/tcp --permanent |
Чек-лист после настройки
- [ ] Служба SSH запущена и в автозагрузке
- [ ] Порт изменён с 22 на нестандартный
- [ ] Вход под root запрещён (
PermitRootLogin no) - [ ] Настроена аутентификация по ключам
- [ ] Отключён вход по паролю (если используется только ключи)
- [ ] Ограничен доступ по доверенным IP
- [ ] Установлен и настроен Fail2Ban
- [ ] Протестировано подключение с клиентской машины
Совет:
Всегда тестируйте изменения конфигурации в отдельной сессии, не закрывая текущее подключение, чтобы не потерять доступ к серверу.