Каждый раз, когда я беру в аренду новый VDS, либо настраиваю виртуальную машину с Ubuntu Server, приходится стандартно обновлять систему, устанавливать нужное мне ПО, и настраивать вход по ключу.
Всё однотипно и уже надоело. Я решил создать скрипт, который автоматизирует эту задачу.
Как пользоваться?
! Если у вас есть уже свой ключ, и вы хотите его использовать, то положите его в папку /root. При настройке, скрипт его увидит и настроит. Добавить нужно именно файл .pub (публичный ключ).
Чтобы была возможность пользоваться скриптом одной командой, я его выложил на Github. Так вот, для запуска настройки вводим команду и вставляем её на сервере:
wget -qO setup.sh "https://raw.githubusercontent.com/igor5841/setup/refs/heads/main/setup.sh" && chmod +x setup.sh && ./setup.sh
Появится такое меню:
Доступно два варианта установки:
1. Автоматическая установка пакетов - установятся все пакеты;
2. Выборочная установка - вы сможете выбрать, что устанавливать.
Выбирайте тот, который необходим.
Ближе к концу скрипт уточнит у вас, нужно ли сгенерировать ключи или пропустить шаг?
- Первый вариант создаст ключи, добавит их куда нужно, отключит вход по паролю.
- Второй вариант пропустит настройку SSH, ключей и пароля.
В конце вы получите отчет о проделанной работе:
Важно! Если вы выбрали автоматическую настройку ключей - не забудьте их скачать. Это два файла: id_rsa и id_rsa.pub. Обычно они генерируются и создаются в папке /root
Выборочная установка
В режиме выборочной установки у вас откроется меню, в котором вы сможете выбрать, какие пакеты установить:
Base - это базовый софт, такой как snap, curl, wget, nano и так далее.
Дальше можно выбрать дополнительный софт, такой как: speedtest, btop, jdk21 и.т.д.
Управление:
Стрелки Вверх и Вниз - переключаться между софтом;
Стрелки Налево и Направо - выбрать пункт ОК, или Cancel (выйти);
Пробел - выбрать софт (поставить/убрать галочку);
Enter - подтвердить выбор.
Это всё отличие ручной настройки. Все остальное без изменений.
Необязательная часть (Про ключи в скрипте)
Как вы уже поняли из части с установкой, можно использовать свой ключ. Всего три варианта:
- Положить ваш .pub ключ в /root - скрипт подхватит его, добавит в authorized_keys;
- Сгенерировать ключ - если скрипт не обнаружит файл ключа, то он предложит его сгенерировать. Файл id_rsa и id_rsa.pub появятся в папке /root;
- Пропустить настройку - скрипт пропустит настройку SSH.
Рекомендация
Если вы не разбираетесь в Linux и не умеете настраивать те же ключи, а так же не умеете включать/отключать вход по паролю - настоятельно рекомендую сначала попробовать настроить всё самим, чтобы понимать, как это работает и в случае необходимости - откатить всё. В скрипте возможность отката пока не предусмотрена.
Ранее я делал статью на тему настройки ключей: Как настроить вход по ключу в Ubuntu/Debian. Настраиваем вход по ключу и выключаем авторизацию по паролю