Это многостраничный печатный вид этого раздела. Нажмите что бы печатать.
Инструкции
- 1: Как получить root-доступ через SSH
- 2: Как сменить dns провайдера на deSEC
- 3: Как вручную освободить место на сервере
1 - Как получить root-доступ через SSH
Чтобы получить доступ к корневой оболочке вашего сервера, вам необходимо сгенерировать SSH-ключ и добавить его в список авторизованных ключей вашего сервера.
Как сгенерировать SSH-ключ
Если вы используете Unix-подобную систему
-
Откройте терминал.
-
Выполните следующую команду:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519
Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется все-таки использовать пароль.
Если вы не хотите использовать кодовую фразу, просто нажмите Enter.
-
Выведите открытый ключ в терминал и скопируйте его:
cat ~/.ssh/id_ed25519.pub
-
Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.
Если вы используете Windows
-
Откройте настройки и в разделе “Приложения” нажмите на “Управление дополнительными компонентами”.
-
Нажмите “Добавить компонент”.
-
Введите “Клиент OpenSSH” в поле поиска и установите его.
-
Откройте Командную строку. Это можно сделать, нажав Win+R, введя
cmd
и нажав Enter. -
Выполните следующую команду, заменив
user_name
на ваше имя пользователя Windows:ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519
Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.
Если вы не хотите использовать кодовую фразу, нажмите Enter.
-
Выведите открытый ключ на терминал и скопируйте его:
type C:\Users\user_name\.ssh\id_ed25519.pub
Еще раз, замените
user_name
на ваше имя пользователя Windows. -
Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.
Если вы используете Android (Termux)
-
Установите Termux. Мы рекомендуем установить его из F-Droid.
-
Откройте Termux.
-
Выполните следующую команду:
apt update -y && apt upgrade -y && apt install openssh -y && ssh-keygen -t ed25519 -f /data/data/com.termux/files/usr/etc/ssh/ssh_host_ed25519_key
Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.
Если вы не хотите использовать кодовую фразу, нажмите Enter.
-
Выведите открытый ключ в терминал и скопируйте его:
cat /data/data/com.termux/files/usr/etc/ssh/ssh_host_ed25519_key.pub
-
Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.
Как добавить ключ на ваш сервер
- Откройте приложение SelfPrivacy.
- Перейдите на вкладку “Еще”.
- Нажмите на пункт “SSH-ключи суперпользователя”.
- Нажмите на кнопку “Создать SSH-ключ”.
- Вставьте открытый ключ, который вы скопировали ранее.
- Нажмите на кнопку “Создать ключ SSH”.
- Откройте список заданий.
- Нажмите на кнопку “Начать”.
- Через несколько минут вы сможете получить доступ к корневой оболочке вашего сервера через SSH.
Как получить доступ к корневой оболочке вашего сервера по SSH
- Откройте терминал или командную строку.
- Выполните следующую команду, заменив
server_domain
на домен вашего сервера:ssh root@server_domain
- Введите парольную фразу, которую вы ввели при генерации SSH-ключа, если ключ защищен паролем.
Будьте осторожны при использовании оболочки root. Если вы не знаете, что делаете, вы можете сломать свой сервер или допустить утечку приватных данных. Ответственность за последствия ваших действий лежит на вас. Уважайте конфиденциальность свою и других пользователей.
2 - Как сменить dns провайдера на deSEC
Мы рекомендуем использовать deSEC вместо CloudFlare. DeSEC нацелен на приватность.
Если вы сначала привязали ваш домен к CloudFlare и теперь хотите сменить провайдера, эта статья для вас.
Внимание, процесс довольно сложен, и если вы чувствуете, что что-то идет не так, можете смело писать нам в чат.
Переносим сервер имен (nameserver)
Сервер имен — это сервер, который переводит ваш домен (буквы) в IP-адрес сервера (цифры).
-
Регистрируемся в deSEC.
-
На странице “domains” нажимаем на кнопку “плюс”.
-
Вводим свой домен.
-
Копируем “nameservers”.
Теперь переходим на сайт провайдера, у которого вы покупали домен. Действия будут схожи для всех провайдеров, мы будем показывать на примере Porkbun.
-
Переходим в панель управления вашим доменом.
-
Находим там параметр “Authoritative nameservers”.
-
Заменяем текущие адреса на те, что мы скопировали из deSEC в инструкции ранее.
-
Сохраняем изменения.
Получаем токен deSEC
-
Авторизуемся в deSEC
-
Переходим на страницу Domains
-
Переходим на вкладку Token management.
-
Нажимаем на большую кнопку с “плюсом” в правом верхнем углу страницы.
-
Должен появиться диалог “Generate New Token”. Вводим любое имя токена в Token name. Advanced settings необязательны, так что ничего там не трогаем.
-
Кликаем Save.
-
Обязательно сохраняем “secret value” ключ токена, потому что он отображается исключительно один раз.
Подключение к серверу
Изменение записи домена может занимать до двух дней, так что рекомендуем вам подождать обновление записей, перед следующими действиями. Иначе ваши сервисы временно перестанут быть доступны.
Понять, что запись обновилась, вы сможете через приложение, либо перейдя по ссылке на один из ваших сервисов (вы увидите ошибку подключения).
Но помните, вы не сможете больше обращаться к вашему серверу по домену, вам нужно будет знать IP-адрес сервера. Его можно узнать, к примеру, в панели хостер провайдера.
Для следующих действий вам нужно будет подключиться по ssh к серверу с правами администратора. Минимальное понимание работы командной строки приветствуется ;)
Инструкцию по подключению вы сможете прочитать тут.
После подключения к серверу вводим:
nano /etc/nixos/userdata.json
Вы оказались в терминальном текcтовом редакторе под названием “nano”.
Вы редактируете файл /etc/nixos/userdata.json
, и можете использовать стрелочки для перемещения.
Находим в файле такие строчки:
"dns": {
"provider": "CLOUDFLARE",
"useStagingACME": false
},
Заменяем:
"provider": "CLOUDFLARE",
на
"provider": "DESEC",
Теперь нажимаем CTRL+X, после клавишу Y.
Теперь отредактируем другой файл:
nano /etc/selfprivacy/secrets.json
Находим в файле такие строчки:
"dns": {
"apiKey": "SECRET-HERE"
},
Убираем ваш старый токен от CloudFlare и вставляем скопированный токен от deSEC. (Если CTRL+V не работает, попробуйте SHIFT+CTRL+V)
"apiKey": "Сюда ваш токен",
Должно получиться так:
"dns": {
"apiKey": "Ваш токен от deSEC"
},
Теперь нажимаем CTRL+X, после клавишу Y.
Если файл сохранился и вы успешно вышли из текстового редактора, вводим команду:
systemctl start sp-nixos-rebuild.service
Она начнёт пересборку вашей системы с новыми параметрами.
После выполнения команды можно смело закрывать консоль.
Перенос записей
Входим сразу в CloudFlare и в deSEC.
В интерфейсе deSEC
По ссылке, в панели “Domain Managment” нажмите на ваш домен.
Теперь вы можете добавлять к нему новые записи, с помощью кнопки “Плюс”.
В интерфейсе CloudFlare
По ссылке, переходим в настройки вашего домена, который находится в разделе “Websites”.
Выбираем ваш домен.
Теперь переходим в “DNS”, далее “Records”.
Первая запись: api
Ориентируясь на пример со скриншота переносим ваши параметры “api” (смотрите на столбик “Name”) записи в соответствии с их цветами.
На скриншоте слева — deSEC, а справа Сloudflare. Вам нужно последовательно перенести каждый параметр данной записи.
Вторая запись: корневая
Создаём новую запись типа “А”, в “IPv4 address” пишем ваш адрес сервера, вы уже писали его в поле “Content” предыдущей записи.
Все записи переносить не надо! Вы создали две записи, а третья уже была создана за вас. Давайте проверим, что у нас получилось.
Перенастраиваем приложение
Для правильной работы вам придется сбросить конфиг приложения. Не забудьте создать ключ восстановления и сохранить его в безопасном месте (менеджере паролей)..
Как сбросить приложение:
Переходим в “Настройки приложения”.
Нажимаем “Сбросить конфиг приложения”.
Теперь переходим в раздел “Мастер установки”, где вы настраивали свой сервер, когда в первый раз запускали приложение.
Нажимаем “Подключиться к существующему серверу SelfPrivacy”.
(В старых версиях приложения кнопка может называться “Подключиться к уже существующему серверу”).
Далее следуем указаниям в приложении и вводим ключ восстановления или код с другого устройства, где установлено приложение SelfPrivacy.
После установки вы увидите некоторые проблемы с Доменом и DNS. Приложение предложит вам исправить их. Соглашаемся.
Поздравляем! Вы успешно сменили доменного провайдера. Рекомендуем вам проверить, что все сервисы работают корректно.
3 - Как вручную освободить место на сервере
Все команды в этом руководстве выполняются от имени root через подключение SSH. Если у вас нет прав root, смотрите это руководство для получения дополнительной информации.
Если у вас не осталось свободного места, вы сможете использовать только те SSH-ключи, которые вы ранее добавили. Если у вас закончилось место на диске и вы не добавили ни одного SSH-ключа, обратитесь в службу поддержки SelfPrivacy за дальнейшей помощью.
Существует несколько способов очистки дискового пространства вашего сервера. Чтобы проверить, сколько у вас дискового пространства, выполните следующую команду:
df -h
В результате будет выведена таблица следующего вида:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 97M 0 97M 0% /dev
tmpfs 969M 52K 969M 1% /dev/shm
tmpfs 485M 3.8M 481M 1% /run
tmpfs 969M 432K 968M 1% /run/wrappers
/dev/sda1 19G 8.2G 9.5G 47% /
/dev/sdb 18G 62M 17G 1% /volumes/sdb
tmpfs 194M 0 194M 0% /run/user/0
Здесь файловая система, смонтированная на /
- это ваш системный том.
Удаление старых состояний NixOS
Предупреждение о нулевом пространстве
Этот метод не сработает, если у вас нет свободного места на системном томе. Сначала используйте другие методы.NixOS позволяет вам в любое время откатиться к предыдущим состояниям системы за счет дискового пространства. Серверы SelfPrivacy настроены на восстановление дискового пространства путем автоматического удаления старых состояний системы, но удаляются только состояния старше 7 дней, поэтому вы все еще можете использовать функцию отката.
Можно вручную удалить все старые состояния системы, и это может дать вам больше столь необходимого дискового пространства. Для этого просто выполните следующую команду от имени root:
nix-collect-garbage -d
Эта операция может занять некоторое время, в зависимости от количества состояний системы. После ее завершения вы увидите, сколько места на диске освободилось.
Удаление старых журналов
Журналы иногда могут занимать довольно много места на диске. На серверах SelfPrivacy системные журналы всегда ограничены 500MiB, но это не единственные файлы журналов на вашем сервере.
Чтобы проверить, сколько места на диске занимают журналы, выполните следующую команду:
du -h --max-depth=1 /var/log
Результат будет выглядеть примерно так:
4.0K /var/log/private
14M /var/log/nginx
499M /var/log/journal
587M /var/log
Системный журнал
Здесь /var/log/journal
- это системный журнал, куда обычно записывают свои журналы все приложения. Как вы можете видеть в этом примере, они соблюдают ограничение в 500MiB.
Если вы хотите очистить все системные журналы, выполните следующую команду:
journalctl --rotate && journalctl --vacuum-time=1s
Это обычно дает вам около 450 Мб свободного дискового пространства, но ненадолго. Однако этого может быть достаточно для выполнения некоторых команд, которые освободят больше места.
Журналы Nginx
Каталог /var/log/nginx
содержит журналы веб-сервера Nginx. Если они стали слишком большими, вы можете очистить их, выполнив команду:
rm /var/log/nginx/* && systemctl reload nginx
Как вы видите, мы не просто удаляем файлы, но и перезагружаем Nginx. Это происходит потому, что Nginx запутается в отсутствующих лог-файлах, и они не будут воссозданы, пока Nginx не будет перезагружен.