Установка Ansible и плейбук для настройки нового VPS: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка Ansible и плейбук для настройки нового VPS.
Коротко
Установка Ansible нужна, чтобы настройку нового сервера описать файлом и повторять её одной командой на любом количестве машин. Ansible работает без агента: он ставится только на вашем компьютере и подключается к серверам по SSH, а сервер должен иметь Python и пользователя, под которым можно войти. Ansible окупается со второго сервера: плейбук из десятка задач создаёт пользователя, ключ, файрвол и закрывает вход по паролю.
Конспект по разделам
Что такое Ansible и зачем он для нового VPS
Ansible это программа, которая читает ваш файл с описанием настроек и приводит сервер к этому состоянию. Сами серверы при этом создаёт кто-то другой: вы в панели, по API или Terraform. Главное свойство: идемпотентность, то есть повторный запуск не меняет то, что уже в порядке, и безопасен.
Установка Ansible на Ubuntu, macOS и Windows
Ansible ставится на управляющую машину, то есть на ваш компьютер. Подойдёт любая UNIX-подобная система: Ubuntu, Debian, macOS. Windows без подсистемы WSL как управляющая машина не поддерживается, поэтому установите Ubuntu внутри WSL.
Плейбук Ansible для нового сервера: пользователь, ключ, ufw и SSH
Инвентарь на один новый сервер. Первый прогон идёт под root, потому что другого пользователя ещё нет: Настройки SSH лежат в отдельном файле каталога sshd_config.d не случайно: в нём первое найденное значение побеждает, а облачные образы нередко приносят свой файл с разрешённым паролем. Каталог читают Ubuntu 22.04 и новее и Debian 12.
- Запустите: ansible-playbook -i inventory.ini bootstrap.yml.
- Проверьте вход новым пользователем в соседнем окне: ssh deploy@203.0.113.10.
- Смените инвентарь на ansible_user=deploy и запустите ещё раз с ключом --check --diff: все задачи должны показать ok, а не changed.
Ошибки Ansible при первом запуске: доступ, Python и sudo
Не закрывайте SSH, пока не проверили ключ Плейбук отключает пароль и вход root. Оставьте открытым сеанс под root до тех пор, пока второе окно не вошло под deploy по ключу. Если ключ не подошёл, исправить это можно только из открытого сеанса или консоли сервера.
Ansible, cloud-init или ручная настройка нового VPS
В Таймвеб Клауд сервером управляют через API, CLI и Terraform, а образы поддерживают cloud-init, то есть скрипт первой загрузки. Он удобен для самых первых шагов, например добавить ключ. Всё, что нужно повторять и проверять потом, удобнее держать в плейбуке.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов
Данные
| Термин | Что это |
|---|---|
| Инвентарь | Файл со списком серверов и способом входа |
| Плейбук | Файл YAML со списком задач, которые нужно выполнить |
| Модуль | Готовое действие: поставить пакет, создать пользователя, правило файрвола |
| Обработчик (handler) | Действие после изменений, например перезапуск SSH |
| Сообщение | Причина | Что сделать |
|---|---|---|
| UNREACHABLE: Permission denied (publickey) | Неверный пользователь или ключ, у сервера нет вашего публичного ключа | Проверьте ssh root@IP руками и укажите ключ через ansible_ssh_private_key_file |
| Нужен вход по паролю | Ключа ещё нет, на сервер вход по паролю из письма | Поставьте пакет sshpass и добавьте --ask-pass |
| Missing sudo password | У пользователя нет права sudo без пароля | Добавьте --ask-become-pass или файл в sudoers.d, как в плейбуке |
| couldn't resolve module community.general.ufw | Установлен минимальный ansible-core без коллекций | Выполните ansible-galaxy collection install community.general |
| Не найден Python на сервере | Минимальный образ без python3 | Поставьте его модулем raw: ansible new -m raw -a "apt install -y python3" |
Данные на 14 октября 2026.
Вопросы и ответы
Нужно ли ставить Ansible на сервер?
Нет. Ansible работает без агента: его ставят только на вашем компьютере, а на сервере нужны SSH и Python. Сервер можно настроить сразу после создания.
Как установить Ansible на Windows?
Включите подсистему WSL, поставьте в ней Ubuntu и установите Ansible как на обычной Ubuntu. Windows без WSL как управляющая машина не поддерживается.
Чем Ansible отличается от Terraform?
Terraform создаёт сами серверы, диски и домены, а Ansible настраивает то, что внутри: пакеты, пользователей, файрвол. Их часто используют вместе: сначала сервер создаётся, затем настраивается.
Как проверить плейбук Ansible, не меняя сервер?
Запустите ansible-playbook с ключами --check --diff: Ansible покажет, что изменил бы, и не тронет сервер. На самом первом прогоне часть задач, зависящих от созданного пользователя, в этом режиме упадёт.