Небольшой скрипт для настройки вашего VDS (обновление ОС, установка программ, SSH ключ)

0 39

Каждый раз, когда я беру в аренду новый 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

Скрипт отключит вход по паролю. Так что если вы не сохраните ключ и отключитесь от SSH, без ключа на сервер не попадете! 

Выборочная установка

В режиме выборочной установки у вас откроется меню, в котором вы сможете выбрать, какие пакеты установить:

Base - это базовый софт, такой как snap, curl, wget, nano и так далее.

Дальше можно выбрать дополнительный софт, такой как: speedtest, btop, jdk21 и.т.д.

Управление:

Стрелки Вверх и Вниз - переключаться между софтом;

Стрелки Налево и Направо - выбрать пункт ОК, или Cancel (выйти);

Пробел - выбрать софт (поставить/убрать галочку);

Enter - подтвердить выбор.

Это всё отличие ручной настройки.  Все остальное без изменений.


Необязательная часть (Про ключи в скрипте)

Как вы уже поняли из части с установкой, можно использовать свой ключ. Всего три варианта:

  1. Положить ваш .pub ключ в /root - скрипт подхватит его, добавит в authorized_keys;
  2. Сгенерировать ключ - если скрипт не обнаружит файл ключа, то он предложит его сгенерировать. Файл id_rsa и id_rsa.pub появятся в папке /root;
  3. Пропустить настройку - скрипт пропустит настройку SSH.

Рекомендация

Если вы не разбираетесь в Linux и не умеете настраивать те же ключи, а так же не умеете включать/отключать вход по паролю - настоятельно рекомендую сначала попробовать настроить всё самим, чтобы понимать, как это работает и в случае необходимости - откатить всё. В скрипте возможность отката пока не предусмотрена.


Ранее я делал статью на тему настройки ключей: Как настроить вход по ключу в Ubuntu/Debian. Настраиваем вход по ключу и выключаем авторизацию по паролю

Комментарии (0)