Когда AmneziaVPN не устанавливает Docker на VPS, причина обычно не в самой программе, а в базовых условиях сервера: неподдерживаемая виртуализация, нет публичного IPv4, SSH пускает не так, как ожидается, у пользователя нет прав sudo без запроса пароля, либо в Ubuntu уже есть конфликтующий Docker. В начале страницы есть кнопка с альтернативным официальным вариантом подключения — это разумный сценарий, если не хочется разбирать чужие конфиги и вручную чинить сервер. Но если нужен именно self-hosted, проверку лучше идти по порядку: VPS, SSH, права, пакеты, firewall и сетевой доступ.
Почему установка ломается чаще всего
AmneziaVPN при настройке self-hosted сервера подключается к VPS по SSH, затем устанавливает Docker и запускает контейнеры. Если один из этих этапов не проходит, установка останавливается целиком. Такой сценарий прямо описан в официальной документации Amnezia.
На практике чаще всего мешают пять вещей:
- сервер не подходит по требованиям Amnezia;
- SSH открыт, но вход идет не тем пользователем или не тем методом;
- пользователь может выполнять sudo только с вводом пароля;
- в системе уже установлен Docker из конфликтующего источника или остались старые пакеты;
- провайдер VPS использует контейнерную виртуализацию вместо KVM.
Хорошая новость в том, что почти все эти проблемы можно проверить за 10–15 минут без глубокой админской подготовки.
Что проверить на стороне VPS
По требованиям Amnezia для self-hosted сценария официально поддерживаются Ubuntu 22.04.x и 24.04.x, а также Debian 12 и 13. Нужны публичный IPv4, SSH-доступ и VPS на KVM. Контейнерная виртуализация OpenVZ/LXC не подходит. Также в документации указано, что x86-64 или amd64 поддерживаются, а arm64 не подходит для такого сценария. Это важно проверить до любых попыток переустановки. Требования перечислены в справке по требованиям к VPS.
| Что проверить | Почему это важно | Что считается нормой |
|---|---|---|
| ОС | Amnezia опирается на поддерживаемые пакеты и сценарий установки | Ubuntu 22.04/24.04 или Debian 12/13 |
| Виртуализация | Контейнерные VPS часто не дают нужных возможностей для Docker | KVM |
| IP-адрес | Подключение к серверу и клиентам завязано на доступный адрес | Публичный IPv4 |
| Архитектура | Неподдерживаемая архитектура ломает установку контейнеров | amd64 / x86-64 |
| SSH-доступ | Без него приложение не сможет поставить Docker и сервисы | Рабочий вход по ключу или паролю |
| Права | Нужны административные команды без ручного подтверждения | root или sudo без запроса пароля |
Если VPS куплен у провайдера с нестандартным шаблоном Ubuntu, лучше не гадать, а посмотреть параметры в панели управления и при необходимости развернуть чистый образ заново. Это часто экономит время.
Как проверить SSH-доступ
Даже когда сервер пингуется, этого мало. Для установки нужен именно рабочий SSH-сеанс под тем пользователем, которого вы вводите в приложении.
- Подключитесь к серверу вручную через терминал: под Windows это может быть PowerShell или Terminal, под macOS и Linux — обычный Terminal.
- Проверьте, что используете правильный порт. Если у провайдера не 22, в Amnezia нужно указывать адрес в формате IP:порт.
- Убедитесь, что вход проходит тем же способом, что и в приложении: либо пароль, либо приватный ключ.
- Если вход по ключу есть, а по паролю нет, не выбирайте парольный сценарий в приложении.
- Если сервер просит сначала войти под одним пользователем, а потом делать su или sudo с дополнительным подтверждением, это уже потенциальная точка сбоя.
Полезно проверить и содержимое SSH-настроек. В /etc/ssh/sshd_config важны параметры, связанные с PasswordAuthentication, PubkeyAuthentication и PermitRootLogin. Менять их стоит осторожно: одна ошибка в SSH-конфиге может оставить сервер без удаленного доступа.
Если вы пользуетесь чужими ключами, неясными шаблонами или временными тестовыми конфигами, установка часто срывается на базовом этапе авторизации. В такой ситуации вариант из кнопки в начале страницы выглядит более предсказуемо, а к ручной настройке self-hosted лучше возвращаться уже с понятным и чистым сервером.
Какие права нужны пользователю
Amnezia допускает вход не только под root, но и под пользователем из группы sudo, если он может выполнять любые sudo-команды без запроса пароля. Это прямо указано в документации к VPS-требованиям и сценарию установки.
Здесь часто возникает путаница: пользователь формально состоит в sudo, но при выполнении административной команды система запрашивает пароль. Для ручной работы это нормально, а для автоматической установки — уже проблема.
Как быстро проверить права
- Подключитесь по SSH под тем пользователем, которого вводите в Amnezia.
- Выполните команду sudo -n true.
- Если команда завершается без ошибки и без запроса пароля, права подходят.
- Если видите сообщение о необходимости пароля, автоматическая установка может не пройти.
Еще один полезный тест — выполнить sudo whoami. В ответе должен быть root. Но для сценария Amnezia важнее именно возможность запускать sudo без интерактивного запроса.
Если вы не уверены в настройке sudoers, безопаснее создать отдельного технического пользователя с понятными правами, чем править существующую конфигурацию наугад.
Что проверить в Ubuntu и Docker
Если с VPS и SSH все в порядке, следующий слой — сама Ubuntu. Установка Docker может ломаться из-за старых пакетов, битых репозиториев, нестандартных firewall-правил или частично установленного контейнерного окружения.
Типовые проблемы в Ubuntu
- в системе уже был установлен Docker не из официального репозитория;
- остались старые пакеты docker.io, podman-docker, containerd или похожие конфликты;
- apt не может обновить индексы пакетов;
- на сервере настроен firewall без понимания того, как Docker работает с iptables;
- система слишком сильно изменена вручную после развертывания образа.
Docker отдельно предупреждает, что при использовании ufw или firewalld опубликованные порты контейнеров могут обходить часть правил firewall, а для совместимости важны iptables-цепочки. Также официальный сценарий установки требует root или sudo-прав. Это описано в документации Docker для Ubuntu.
Что имеет смысл проверить вручную
- Узнайте версию системы: lsb_release -a или cat /etc/os-release.
- Проверьте архитектуру: uname -m. Для поддерживаемого сценария нужен x86_64 или amd64.
- Обновите список пакетов: sudo apt update.
- Проверьте, нет ли полусломанных пакетов: sudo apt --fix-broken install.
- Посмотрите, установлен ли Docker: docker --version и systemctl status docker.
- Проверьте конфликтующие пакеты через список установленных пакетов.
- Убедитесь, что на диске хватает места: df -h.
Если Docker уже стоит и работает, а Amnezia все равно не завершает установку, проблема может быть не в контейнерном движке, а в том, что сервер не проходит один из формальных критериев: архитектура, тип виртуализации, IPv4 или права.
Таблица быстрой диагностики
| Проблема | Возможная причина | Что делать |
|---|---|---|
| Amnezia не подключается к серверу | Неверный IP, порт SSH или способ авторизации | Проверить ручной вход по SSH теми же данными |
| Подключение есть, но установка Docker не идет | Нет sudo без пароля | Проверить sudo -n true и права пользователя |
| Установка обрывается почти сразу | OpenVZ/LXC вместо KVM | Сменить тариф или провайдера, развернуть VPS на KVM |
| Docker ставится с ошибками apt | Битые репозитории или конфликтующие пакеты | Починить apt, удалить конфликтующие пакеты, обновить систему |
| Все установилось, но сервис нестабилен | Firewall, сетевые правила или нестандартная конфигурация VPS | Проверить ufw, iptables, доступность нужных портов и чистоту образа |
| Сервер доступен только по IPv6 | Нет поддерживаемого публичного IPv4 | Подключить IPv4 у провайдера или выбрать другой VPS |
| Установка идет на ARM-сервер | Неподдерживаемая архитектура для этого сценария | Использовать amd64/x86-64 VPS |
Порядок действий по шагам
Ниже — практический порядок, который обычно помогает быстрее всего.
- Сначала проверьте, что у вас именно Ubuntu 22.04 или 24.04, либо Debian 12 или 13.
- Убедитесь, что VPS работает на KVM, а не на OpenVZ/LXC.
- Проверьте наличие публичного IPv4 и обычного SSH-доступа извне.
- Войдите по SSH вручную под тем же пользователем, который указан в Amnezia.
- Проверьте, выполняется ли sudo -n true без запроса пароля.
- Узнайте архитектуру через uname -m и убедитесь, что это x86_64.
- Проверьте apt update и общее состояние пакетов.
- Если в системе уже был Docker, разберите, откуда он установлен и нет ли конфликта пакетов.
- Посмотрите свободное место на диске и базовую сетевую доступность.
- После исправлений повторите установку на чистом сеансе, а если сервер сильно изменен вручную — лучше переустановите ОС из чистого образа.
Если задача не в том, чтобы обязательно поднимать свой сервер, а в том, чтобы получить стабильное подключение на ПК и телефоне без ручной доводки Ubuntu, кнопка в начале страницы остается нормальным официальным альтернативным сценарием. Но при желании разобраться с self-hosted логика проверки выше обычно приводит к причине сбоя довольно быстро.
- чистый VPS на Ubuntu 22.04 или 24.04;
- вход под root или sudo без запроса пароля;
- проверка SSH вручную до запуска установки;
- отказ от экзотических образов и нестандартных шаблонов хостера;
- проверка типа виртуализации до покупки сервера.
- контейнерная виртуализация вместо KVM;
- ARM-сервер вместо amd64;
- отсутствие публичного IPv4;
- частично установленный или конфликтующий Docker;
- неочевидные ограничения sudo и SSH.
Частые вопросы
Можно ли ставить Amnezia на Ubuntu 20.04?
Лучше ориентироваться на официально поддерживаемые версии. Для self-hosted сценария в документации указаны Ubuntu 22.04.x и 24.04.x, а также Debian 12 и 13. На других системах часть вещей может работать, но предсказуемость ниже.
Подойдет ли сервер на ARM?
Для данного сценария Amnezia указывает поддержку x86-64 или amd64. ARM64 для этой установки не подходит, поэтому лучше сразу брать VPS на нужной архитектуре.
Обязательно ли входить под root?
Нет. Можно использовать обычного пользователя, если он состоит в sudo и имеет право выполнять sudo-команды без запроса пароля. Иначе автоматическая установка может остановиться.
Нужно ли заранее ставить Docker вручную?
Обычно нет. Amnezia сама подключается по SSH, устанавливает Docker и запускает контейнеры. Но если система уже изменялась вручную, предварительная проверка Docker и пакетов бывает полезной.
Почему сервер пускает по SSH, но установка все равно не идет?
Потому что рабочий вход по SSH — это только первый этап. Дальше нужны корректные права, поддерживаемая архитектура, KVM, публичный IPv4 и нормальное состояние Ubuntu-пакетов.
Вывод
Если Amnezia VPN не ставит Docker на VPS, почти всегда нужно проверять не приложение, а основу: поддерживаемую Ubuntu, KVM-виртуализацию, публичный IPv4, SSH-доступ тем же пользователем, sudo без запроса пароля и чистое состояние Docker-пакетов. Самая частая ошибка — пытаться чинить все сразу. Намного надежнее идти по цепочке: сначала сервер и архитектура, потом SSH и права, затем Ubuntu и Docker. Такой порядок обычно быстро показывает, где именно ломается установка.
Нет комментариев.