lightweight-server/docs/readme/README.ru.md

38 KiB
Raw Permalink Blame History

Быстрая настройка Ubuntu Server

English | Русский | Español | Deutsch | Français | Português | 中文 | 日本語 | العربية | हिन्दी

Для мониторинга и объединённого управления несколькими серверами используйте дополнительный проект Server Monitor Manager. Проект находится на ранней стадии разработки.

Набор независимых Bash-скриптов для первоначальной настройки Ubuntu Server. Можно запустить только нужные модули или выполнить их по порядку для полной настройки.

Ярлыки панелей на Windows

Общий установщик PuTTY позволяет выбрать серверы, создать приватные туннели к 3x-ui и ярлыки браузера. Новые серверы добавляются в интерфейсе без пересборки. Каталог можно экспортировать и импортировать на другом ПК; рабочие каталоги и ключи в репозиторий не помещаются.

Быстрая установка

Получите полный SHA одобренного коммита и SHA-256 архива из доверенного канала релиза или ревью. Контрольная сумма зависит от источника: архивы Forgejo и GitHub могут различаться. Не используйте имя ветки и не вычисляйте «ожидаемую» сумму из самого скачанного архива. Пока проверенный релиз не опубликовал эти значения, оператор должен указать их сам.

Блок проверяет архив до запуска мастера. По умолчанию выбран Forgejo; GitHub можно выбрать отдельно:

set -e
cd "$HOME"
sudo apt-get update
sudo apt-get install -y curl ca-certificates tar
read -rp 'Reviewed full commit SHA (40 hex): ' revision
read -rp 'Trusted archive SHA-256 (64 hex): ' expected
[[ "$revision" =~ ^[0-9a-f]{40}$ && "$expected" =~ ^[0-9a-f]{64}$ ]]
read -rp 'Source: forgejo or github [forgejo]: ' source
case "${source:-forgejo}" in
  forgejo) url="https://git.ochenstarik.ru/ochenstarik/lightweight-server/archive/${revision}.tar.gz" ;;
  github) url="https://codeload.github.com/ochenstarik-ui/lightweight-server/tar.gz/${revision}" ;;
  *) exit 1 ;;
esac
archive="$(mktemp)"
trap 'rm -f "$archive"' EXIT
curl -fLsS --proto '=https' --proto-redir '=https' --tlsv1.2 \
  --retry 3 --connect-timeout 30 --max-time 300 "$url" -o "$archive"
printf '%s  %s\n' "$expected" "$archive" | sha256sum -c -
# Refuse to mix a reviewed archive with files from an earlier installation.
[[ ! -e lightweight-server ]]
mkdir -m 700 lightweight-server
tar -xzf "$archive" -C lightweight-server --strip-components=1
cd lightweight-server
chmod 700 ./*.sh
sudo ./ochenstarik-server-install.sh

Первым запросом мастер предлагает выбрать язык диалога и только затем открывает главное меню со всеми этапами 1–8. Выберите нужный этап, установите его, и после завершения мастер вернётся обратно в главное меню. В первом этапе пустой ввод устанавливает все рекомендуемые наборы программ. Во время изменения SSH-порта не закрывайте текущую сессию — сначала проверьте новый вход во втором терминале.

Мастер намеренно требует, чтобы все скрипты этапов уже лежали рядом локально. Используйте полный архив или git clone; одиночный файл мастера больше не подкачивает недостающие этапы из изменяемой ветки main.

Что входит в проект

Файл Назначение Можно запускать отдельно
ochenstarik-server-install.sh Сначала выбирает язык диалога, затем последовательно предлагает установить, пропустить или завершить каждый этап Да; рекомендуемый способ полной настройки
ochenstarik-server-1.sh Предлагает выбрать часовой пояс, язык терминала и наборы программ, создаёт swap-файл 2 ГБ Да
ochenstarik-server-2.sh Предлагает будущий SSH-порт и IPv4/IPv6, обновляет систему, ставит обязательные пакеты и настраивает UFW Да
ochenstarik-server-user-3.sh Создаёт администратора, переносит SSH на порт из этапа 2, проверяет права и включает fail2ban После установки необходимых пакетов; проще всего сначала запустить скрипт 2
ochenstarik-server-tg-4.sh Отправляет уведомления в Telegram при успешном входе по SSH После установки OpenSSH и curl; обычно после скрипта 2 или 3
ochenstarik-server-vpn-5.sh Устанавливает Xray и направляет системный трафик через VLESS + REALITY Да; зависимости устанавливаются автоматически
ochenstarik-server-panel-warp-6.sh Устанавливает 3x-ui и Cloudflare WARP, настраивает и проверяет их порты Ubuntu 22.04/24.04/26.04 или Debian 12/13
ochenstarik-server-backup-7.sh Создаёт неизменяемый первичный снимок и настраивает выбранные расписания резервного копирования Да; зависимости устанавливаются автоматически
ochenstarik-server-ai-agents-8.sh Устанавливает выбранных AI-агентов: Hermes, OpenClaw, OpenHands, OpenCode, Aider, AutoGPT или Pi Coding Agent Да; API-ключи настраиваются отдельно
ochenstarik-server-uninstall.sh Удаляет настройки, службы и данные проекта для повторной установки с начала Да; запускать только из сохранённой SSH-сессии

Файлы *.env.example являются только примерами. Не записывайте настоящие пароли, токены и приватные SSH-ключи в Git.

Требования

  • Ubuntu Server или совместимая Debian-система с systemd;
  • доступ root или пользователь с sudo;
  • подключение к интернету;
  • рекомендуется сохранить текущую SSH-сессию открытой до проверки нового входа.

Получение проекта

Используйте проверенную загрузку полного архива из раздела «Быстрая установка». Все модули и ochenstarik-server-supply-chain.sh должны оставаться рядом. Для обновления нужен новый проверенный полный SHA и соответствующая источнику сумма; распаковывайте в новый каталог. Не обновляйте установщики на рабочих серверах через изменяемую ветку.

Перед запуском любого выбранного файла можно проверить его синтаксис:

bash -n ./ИМЯ-СКРИПТА.sh

1. Часовой пояс, язык, программы и swap

Файл: ochenstarik-server-1.sh.

При запуске единого мастера самый первый запрос, ещё до выбора этапа 1, задаёт язык диалога: English, Русский, Español, Deutsch, Français, Português, 中文, 日本語, العربية или हिन्दी. Начальное меню выводится на английском, а пустой ввод оставляет English. Выбор передаётся первому этапу автоматически и не меняет системную локаль сервера.

Первый этап начинается с нумерованного меню популярных часовых поясов, включая Asia/Novosibirsk, Europe/Moscow и UTC. Нужную зону достаточно выбрать по номеру. Для остальных зон предусмотрен полный список с последовательным выбором региона и часового пояса — вводить имя вручную не требуется.

После выбора времени скрипт показывает меню языков терминала: оставить текущий, русский, английский, немецкий, французский, испанский, итальянский, португальский, польский, украинский, турецкий, китайский, японский, корейский либо выбрать другую локаль из полного системного списка. Выбранный язык применяется к новым терминальным сессиям. Исходный /etc/default/locale сохраняется для последующего восстановления.

Затем можно отметить несколько наборов программ номерами через пробел, например 1 2 4 9. Пустой ввод устанавливает все наборы, а 0 пропускает дополнительные программы:

  1. Терминал и повседневная работа — Git, wget/curl, jq/yq, ripgrep, fd, fzf, lnav, редакторы, MC, tmux/screen, htop/btop, ncdu, rsync и strace.
  2. Диагностика сети — DNS, ping, MTR, traceroute, tcpdump, nmap, netcat, HTTPie, whois, ethtool и socat.
  3. Мониторинг системы и дисков — iotop, sysstat, SMART, lm-sensors, atop, nethogs, vnStat и psmisc.
  4. Безопасность и обслуживание — auditd, AppArmor tools, Lynis, needrestart, unattended-upgrades, debsums, ACL и extended attributes.
  5. Разработка и автоматизация — компилятор, ShellCheck, Python pip/venv и pipx.
  6. Архивы и данные — 7-Zip, ZIP/RAR, SQLite, csvkit, клиенты PostgreSQL и Redis.
  7. Документы, PDF и OCR — Poppler, qpdf, Ghostscript, OCRmyPDF/Tesseract, LibreOffice, Pandoc, antiword и catdoc.
  8. Изображения, аудио и видео — ImageMagick, ExifTool, WebP, FFmpeg и MediaInfo.
  9. Резервное копирование — restic, BorgBackup и rclone.

Скрипт проверяет доступность каждого пакета в подключённых репозиториях. Недоступные для конкретной версии или набора репозиториев пакеты пропускаются с предупреждением. Список программ, которых не было до запуска, сохраняется в /etc/ochenstarik-server/step1-installed-packages.list для безопасной очистки.

Затем скрипт создаёт /swapfile размером 2 ГБ, добавляет его в /etc/fstab и устанавливает vm.swappiness=20. Повторный запуск предусмотрен.

chmod 700 ochenstarik-server-1.sh
bash -n ochenstarik-server-1.sh
sudo ./ochenstarik-server-1.sh

Проверка:

swapon --show
sysctl vm.swappiness

2. Базовые пакеты, SSH-порт и брандмауэр

Файл: ochenstarik-server-2.sh.

При каждом запуске скрипт предлагает три действия: полную установку или обновление, изменение режима IP без переустановки пакетов либо добавление открытых портов. При полной установке он запрашивает SSH-порт для этапа 3, обновляет систему и устанавливает только обязательные компоненты: OpenSSH, UFW, fail2ban, sudo, TLS-сертификаты и сетевые инструменты. Дополнительные программы выбираются на этапе 1.

Для входящих подключений можно выбрать:

  • только IPv4 — публичные входящие IPv6-порты закрываются через UFW, но IPv6-стек ядра не отключается; этот режим рекомендуется, если 3x-ui используется только по IPv4;
  • только IPv6 — управляемые скриптом порты открываются лишь для IPv6;
  • IPv4 + IPv6 — порты открываются для обоих семейств.

Выбор сохраняется в /etc/ochenstarik-server/ip-family.conf, а список управляемых портов — в /etc/ochenstarik-server/ufw-managed-ports.conf. При переходе на режим с одним семейством старые правила этих портов пересоздаются. Скрипт не разрешит отключить семейство адресов, через которое работает текущая SSH-сессия. Для режима IPv4 UFW остаётся с поддержкой IPv6, чтобы политика deny incoming продолжала закрывать публичный IPv6. Для режима IPv6 также проверяются глобальный IPv6-адрес и маршрут по умолчанию.

В режиме «только IPv6» системный IPv4 остаётся доступен для исходящих соединений и работы менеджера пакетов, но входящие управляемые порты по IPv4 закрываются UFW. Полное переносимое отключение IPv4 в Linux без привязки к конкретной сетевой конфигурации не выполняется.

По умолчанию открываются только необходимые SSH-порты на время переноса и 443/tcp. Порты 80, 2096, 40000 и 63636 автоматически не публикуются. Дополнительные порты требуют явного выбора с учётом назначения сервиса. При повторном запуске старые управляемые порты приложений выводятся отдельно: оператор явно выбирает, сохранить их или убрать.

chmod 700 ochenstarik-server-2.sh
bash -n ochenstarik-server-2.sh
sudo ./ochenstarik-server-2.sh

Проверка:

sudo ufw status verbose
cat /etc/ochenstarik-server/ip-family.conf
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
timedatectl

3. Администратор и защита SSH

Файл: ochenstarik-server-user-3.sh.

При каждом запуске скрипт предлагает два режима:

  1. новая установка или повторная настройка администратора и SSH;
  2. только добавление открытых портов в UFW без изменения пользователя и SSH.

В режиме новой установки скрипт интерактивно запрашивает имя администратора, SSH-ключ и пароль. SSH-порт автоматически читается из защищённого файла, созданного этапом 2. Если этап 2 не выполнялся, скрипт предложит выбрать порт вручную. Затем он:

  • создаёт или обновляет пользователя;
  • добавляет пользователя в группу sudo;
  • назначает пользователю его домашнюю папку и всё содержимое .ssh;
  • устанавливает права 700 для .ssh и 600 для authorized_keys и остальных файлов ключей;
  • запрещает вход root по SSH;
  • переносит SSH на выбранный порт и добавляет для него правило UFW;
  • настраивает fail2ban;
  • по выбору управляет правилами UFW.

Правила UFW добавляются с учётом режима IPv4/IPv6, сохранённого скриптом 2. Новые порты также записываются в общий список управляемых правил, поэтому последующее переключение IP-режима пересоздаст их корректно.

Для отдельного запуска сначала установите зависимости:

sudo apt-get update
sudo apt-get install -y sudo ufw fail2ban openssl openssh-server
chmod 700 ochenstarik-server-user-3.sh
bash -n ochenstarik-server-user-3.sh
sudo ./ochenstarik-server-user-3.sh

Не закрывая текущую сессию, откройте второй терминал и проверьте вход:

ssh -p ВЫБРАННЫЙ_ПОРТ ИМЯ_ПОЛЬЗОВАТЕЛЯ@IP_СЕРВЕРА

После успешного входа на новый порт подтвердите это в запросе этапа 3: скрипт сам удалит временное правило 22/tcp для IPv4/IPv6 и запись в управляемом списке. Без подтверждения порт сохраняется. Если SSH остаётся на 22 или управление UFW отключено, очистка не выполняется.

Чтобы позднее открыть дополнительные порты, повторно запустите скрипт, выберите пункт 2 и введите правила через пробел или запятую:

80 443/tcp 53/udp 40000

Для записей без протокола используется TCP. Допустимы только порты от 1 до 65535. Если UFW неактивен, правила будут сохранены, но скрипт не включит брандмауэр автоматически во избежание потери SSH-доступа.

4. Telegram-уведомления о входах по SSH

Файл: ochenstarik-server-tg-4.sh.

Создайте бота через @BotFather, отправьте ему сообщение и узнайте ID чата. Скрипт запросит токен и ID интерактивно, отправит тестовое сообщение и подключит уведомления через PAM. Hook обрабатывает только PAM_TYPE=open_session; закрытие сессии не отправляет второе «успешный вход». Отправка запускается через отсоединённый процесс с закрытым stdin/stdout/stderr и не задерживает SSH-вход при недоступности Telegram.

Для отдельного запуска:

sudo apt-get update
sudo apt-get install -y curl openssh-server logrotate
chmod 700 ochenstarik-server-tg-4.sh
bash -n ochenstarik-server-tg-4.sh
sudo ./ochenstarik-server-tg-4.sh

Журнал уведомлений:

sudo tail -f /var/log/ochenstarik-ssh-login-telegram.log

Токен сохраняется на сервере в /etc/ochenstarik-server/telegram.conf с ограниченными правами. Не добавляйте этот файл в репозиторий.

5. Системный VPN через Xray

Файл: ochenstarik-server-vpn-5.sh.

Скрипт устанавливает Xray и необходимые пакеты, принимает прямую ссылку vless:// либо HTTPS-ссылку подписки 3x-ui и настраивает маршрутизацию через nftables. Если подписка содержит VLESS-ссылки на нескольких портах, скрипт выводит доступные порты и просит выбрать нужный. Поддерживается VLESS с транспортом TCP/RAW и REALITY.

При повторном запуске появляется меню: подключить VPN с сохранёнными настройками, отключить его без удаления конфигурации, заменить подписку либо показать состояние.

chmod 700 ochenstarik-server-vpn-5.sh
bash -n ochenstarik-server-vpn-5.sh
sudo ./ochenstarik-server-vpn-5.sh

Во время запуска ссылка вводится скрыто. Скрипт сравнивает внешний IP до и после настройки и использует автоматический откат при ошибке. SSH и ответы сервисов на портах 443 и 63636 остаются на прямом маршруте.

Проверка маршрутизации:

sudo /usr/local/sbin/ochenstarik-xray-routing status
curl -4 https://api.ipify.org

Прямые команды управления:

sudo ./ochenstarik-server-vpn-5.sh --enable
sudo ./ochenstarik-server-vpn-5.sh --disable
sudo ./ochenstarik-server-vpn-5.sh --reconfigure
sudo ./ochenstarik-server-vpn-5.sh --status

Отключение удаляет правила системной маршрутизации, но сохраняет Xray и настройки для быстрого повторного подключения.

6. Панель 3x-ui и локальный proxy Cloudflare WARP

Файл: ochenstarik-server-panel-warp-6.sh.

Панель по умолчанию приватная: webListen=127.0.0.1; адрес реального слушателя проверяется через ss -ltn. Доступ — через SSH-туннель. Порт панели по умолчанию 2053.

Подписки на отдельном порту (по умолчанию 2096) выбираются независимо: приватные на loopback, полностью выключенные либо явно публичные с новым случайным секретным путём. При повторном запуске прежний достаточно случайный путь сохраняется по умолчанию; ротация требует подтверждения, поскольку старые URL перестанут работать. Храните URL подписок как секрет. Публичная панель — отдельный явный выбор. В UFW публикуются только выбранные публичные сервисы и 443/tcp; порт 80 автоматически не открывается.

3x-ui v3.10.2, установщик Xray на коммите 05aa47266c94e6fb5ca48cad96afdb4becb5891f и Xray-core v26.10.21 закреплены вместе с SHA-256 установщиков и исполняемых payload для amd64/arm64. Этапы 5 и 6 требуют комплектный ochenstarik-server-supply-chain.sh. Источник выбирается отдельно: GitHub либо подготовленное оператором HTTPS-зеркало Forgejo. Зеркало должно содержать перечисленные ниже файлы; ochenstarik-server-supply-chain-pins.txt — справочный список сумм, проверяемых helper; существование готового зеркального релиза не предполагается. Неизвестные загрузки установщика блокируются. Системные пакеты по-прежнему требуют доступных APT-репозиториев.

Файлы зеркала лежат в одном каталоге: xui-install.sh, x-ui-linux-amd64.tar.gz либо x-ui-linux-arm64.tar.gz, x-ui.sh, x-ui.service.debian, xray-install.sh, Xray-linux-64.zip либо Xray-linux-arm64-v8a.zip. Суммы закреплены в коде; файлы контрольных сумм helper создаёт локально. Для этапа 5 нужны только два файла Xray.

WARP — отдельный необязательный выбор, по умолчанию выключен. Если выбран, устанавливается из официального APT-репозитория, работает в Local proxy mode через MASQUE и проверяется по warp=on. Его proxy слушает только 127.0.0.1:40000 (либо выбранный локальный порт) и не публикуется через UFW.

bash -n ochenstarik-server-panel-warp-6.sh
sudo ./ochenstarik-server-panel-warp-6.sh

Публичные порты открываются только для семейств адресов, выбранных на этапе 2.

Поддерживаются официально доступные пакеты WARP для Ubuntu jammy, noble, resolute и Debian bookworm, trixie на amd64 и arm64.

Официальные источники: установка 3x-ui, пакеты Cloudflare WARP и режимы WARP.

7. Резервные копии сервера

Файл: ochenstarik-server-backup-7.sh.

Скрипт создаёт полный сжатый снимок корневой файловой системы с сохранением владельцев, ACL и расширенных атрибутов. Виртуальные файловые системы, временные каталоги, swap, подключённые диски и сам каталог бэкапов исключаются. Первичный снимок создаётся сразу, повторно не перезаписывается и не участвует в ротации. Если файловая система поддерживает атрибут immutable, первичный архив и его контрольная сумма дополнительно защищаются от случайного удаления.

При установке можно выбрать несколько расписаний одним вводом, например 1 3:

  • ежедневное — хранится 7 последних архивов;
  • еженедельное — хранится 4 последних архива;
  • ежемесячное — хранится 12 последних архивов;
  • только первичный снимок без автоматического расписания.
chmod 700 ochenstarik-server-backup-7.sh
bash -n ochenstarik-server-backup-7.sh
sudo ./ochenstarik-server-backup-7.sh

По умолчанию архивы сохраняются в /var/backups/ochenstarik-server, но во время установки можно указать абсолютный путь на другом диске. Незавершённые архивы имеют суффикс .partial и не попадают в ротацию. Для каждого готового архива создаётся файл .sha256.

Проверка расписаний и ручной запуск:

systemctl list-timers "ochenstarik-backup-*"
sudo /usr/local/sbin/ochenstarik-server-backup daily
sudo journalctl -u ochenstarik-backup@daily.service

Проверка целостности первичного снимка:

cd /var/backups/ochenstarik-server/initial
sha256sum -c ./*.sha256

Восстанавливайте архив только из rescue-системы или в отдельный пустой каталог, предварительно проверив контрольную сумму. Пример распаковки в подготовленный каталог /restore:

mkdir -p /restore
zstd -dc /ПУТЬ/К/АРХИВУ.tar.zst | tar --acls --xattrs --numeric-owner -xpf - -C /restore

Архив содержит секреты сервера. По умолчанию сохраняется локальный незашифрованный .tar.zst. Шифрование age включается отдельно по публичному ключу получателя: поток сразу записывается в .tar.zst.age, временного незашифрованного архива нет. Приватный ключ восстановления храните отдельно; заранее проверьте расшифровку через age --decrypt -i RECOVERY_KEY перед zstd -dc | tar.

Можно отдельно включить SCP-выгрузку готового архива и .sha256 на другой хост. Нужны выделенная учётная запись, существующий SSH-ключ и заранее проверенный known_hosts. Используются BatchMode и строгая проверка ключа хоста; ошибки передачи считаются ошибкой бэкапа. Существующий незашифрованный первичный снимок сохраняется: при выборе age скрипт явно остановится, а не объявит его зашифрованным. Перенесите прежний снимок в безопасное хранилище и определите политику первичного снимка перед продолжением. Повторный запуск initial проверяет контрольную сумму и повторяет выгрузку, в том числе после прежней ошибки SCP. Локальная ротация не настраивает удалённую ротацию. Локальная копия не защищает от потери сервера. Снимок создаётся с работающей системы; для активно изменяющихся баз данных дополнительно используйте штатный экспорт или согласованный снимок самой базы.

Полная установка

Рекомендуемый способ — единый мастер. Он показывает главное меню со всеми этапами, запускает выбранный пункт и после завершения возвращается обратно в меню. Если какой-либо этап отсутствует рядом с мастером, запуск будет остановлен: скачайте полный архив проекта или используйте git clone.

cd lightweight-server
chmod 700 ./*.sh
bash -n ./*.sh
sudo ./ochenstarik-server-install.sh

После ошибки этап можно повторить, пропустить или завершить весь мастер. Повторный запуск мастера разрешён: каждый модуль поддерживает повторную настройку.

Отдельные скрипты сохранены. При необходимости их по-прежнему можно запускать вручную по очереди:

sudo ./ochenstarik-server-1.sh
sudo ./ochenstarik-server-2.sh
sudo ./ochenstarik-server-user-3.sh
sudo ./ochenstarik-server-tg-4.sh
sudo ./ochenstarik-server-vpn-5.sh
sudo ./ochenstarik-server-panel-warp-6.sh
sudo ./ochenstarik-server-backup-7.sh
sudo ./ochenstarik-server-ai-agents-8.sh

8. AI-агенты на выбор

Файл: ochenstarik-server-ai-agents-8.sh.

На серверах VPN и узлах Telegram-клиента не устанавливайте этап 8. ИИ-агенты должны работать на отдельной машине.

Скрипт предлагает множественный выбор из Hermes Agent, OpenClaw, OpenHands, OpenCode, Aider, AutoGPT и Pi Coding Agent. Установщики запускаются от выбранного обычного пользователя, а не напрямую от root. Каждый официальный установщик сначала загружается по HTTPS во временный файл и проходит проверку bash -n.

AutoGPT — более тяжёлая Docker-платформа: её официальный установщик может запросить sudo, установить зависимости Docker и запустить локальные службы. Pi — лёгкий терминальный агент; после установки его можно запустить командой pi, а затем выполнить /login для подключения провайдера.

API-ключи скрипт не запрашивает и не сохраняет. После установки нужно войти под выбранным пользователем и выполнить показанную команду первоначальной настройки. AI-агенты могут запускать команды, изменять файлы, использовать сеть и устанавливать плагины, поэтому перед подключением рабочих данных необходимо проверить разрешения, песочницу и доступ к секретам.

chmod 700 ochenstarik-server-ai-agents-8.sh
bash -n ochenstarik-server-ai-agents-8.sh
sudo ./ochenstarik-server-ai-agents-8.sh

VPN, 3x-ui, WARP, Telegram-уведомления, автоматические расписания резервного копирования и AI-агенты являются необязательными этапами.

Удаление и повторная установка с начала

Файл: ochenstarik-server-uninstall.sh.

Скрипт удаляет управляемые правила UFW, настройки IPv4/IPv6, SSH drop-in, fail2ban-конфигурацию, Telegram-hook, Xray, 3x-ui, WARP, расписания резервного копирования, swap и служебные файлы проекта. Перед изменением SSH открывается порт 22/tcp. Правило порта, через который работает текущая SSH-сессия, сохраняется, чтобы не потерять доступ.

Удаление администратора и самих архивов резервных копий требует отдельных подтверждений. Обязательные системные пакеты второго этапа и обновления Ubuntu сохраняются, чтобы не потерять доступ к серверу. Языковые пакеты и дополнительные программы удаляются только если первый скрипт зафиксировал, что до его запуска их не было.

chmod 700 ochenstarik-server-uninstall.sh
bash -n ochenstarik-server-uninstall.sh
sudo ./ochenstarik-server-uninstall.sh

Не закрывайте текущую SSH-сессию. После очистки сначала проверьте отдельное подключение через порт 22, затем снова запускайте нужные установочные скрипты. Старое правило текущего SSH-порта можно удалить только после успешной проверки нового входа.

Безопасность

  • Всегда проверяйте скачанные скрипты перед запуском от root.
  • Не публикуйте токены Telegram, пароли, приватные SSH-ключи и ссылки VLESS.
  • Не закрывайте действующую SSH-сессию во время переноса SSH на новый порт.
  • Перед настройкой на рабочем сервере сделайте резервную копию важных данных.