Каждый раз, когда я настраиваю новый сервер, я выполняю ряд шагов на каждом сервере, чтобы получать обновления, устанавливать пароль, удалять вход через пользователя root, настраивать знакомую среду (bashrc) и защищать сервер.
Можно ли все это сделать с помощью скрипта? Установка может включать:
обновления и обновления дистрибутива
apt-get update
apt-get upgrade
добавление пользователей
развертыватель аддюсера
adduser deployer sudo
mkdir /home/deployer/.ssh
chmod 700 /home/deployer/.ssh
коснитесь /home/deployer/.ssh/authorization_keys
пароль для развертывания
su deployer ru
перейдите в /home/deployer/.ssh/
sudo chown deployer .ssh /
Выполнение команд на локальном компьютере:
ssh-copy-id root@hostname.com
ssh-copy-id deployer@hostname.com
вход на сервер:
chmod 400 /home/deployer/.ssh/authorized_keys
chown deployer: деплойер / домашний / деплойер -R
5..6 ... 7 .. Настройка bashrc, редактирование sshd_config, установка ufw и logwatch
Используйте кикстарт или аналогичный процесс для управления сборкой. Используйте продукт управления конфигурацией, например Puppet, для развертывания ваших настроек.
Вы также можете использовать немного магии сценариев, чтобы запустить управление конфигурацией в конце сборки, чтобы сделать ее удобной.
Мой сценарий устанавливает статический IP-адрес, настраивает OSSEC и выполняет пару запусков марионеток, чтобы отсортировать все зависимости, а затем запускает обновление yum (в первую очередь я пользователь CentOS).
Можно скомпоновать другие методы для получения тех же результатов, но я обнаружил, что это самый гибкий метод, с которым я работал.
Кикстарт / Джампстарт, Повар (в том числе шеф-соло), Кукольный, Поваренная соль, сценарии оболочки и языки сценариев более высокого уровня могут использоваться для решения этой проблемы.
Честно говоря, похоже, что у вас есть достойное начало сценария оболочки. Начните с этого, и если сложность нарастает, либо дорабатывайте, либо ищите более мощный продукт. Лично у меня был хороший опыт работы с Chef.
Ключ к автоматизации всего - начать с малого; вам не нужно полностью заниматься автоматизацией. Выберите одну болевую точку и исправьте ее. Выбери другой, повтори.