1 - Как получить root-доступ через SSH

Если вам нужно вручную выполнить административные задачи, понадобится root-доступ через SSH.

Чтобы получить доступ к корневой оболочке вашего сервера, вам необходимо сгенерировать SSH-ключ и добавить его в список авторизованных ключей вашего сервера.

Как сгенерировать SSH-ключ

Если вы используете Unix-подобную систему

  1. Откройте терминал.

  2. Выполните следующую команду:

    ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519
    

    Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется все-таки использовать пароль.

    Если вы не хотите использовать кодовую фразу, просто нажмите Enter.

  3. Выведите открытый ключ в терминал и скопируйте его:

    cat ~/.ssh/id_ed25519.pub
    
  4. Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.

Если вы используете Windows

  1. Откройте настройки и в разделе “Приложения” нажмите на “Управление дополнительными компонентами”.

  2. Нажмите “Добавить компонент”.

  3. Введите “Клиент OpenSSH” в поле поиска и установите его.

  4. Откройте Командную строку. Это можно сделать, нажав Win+R, введя cmd и нажав Enter.

  5. Выполните следующую команду, заменив user_name на ваше имя пользователя Windows:

    ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519
    

    Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.

    Если вы не хотите использовать кодовую фразу, нажмите Enter.

  6. Выведите открытый ключ на терминал и скопируйте его:

    type C:\Users\user_name\.ssh\id_ed25519.pub
    

    Еще раз, замените user_name на ваше имя пользователя Windows.

  7. Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.

Если вы используете Android (Termux)

  1. Установите Termux. Мы рекомендуем установить его из F-Droid.

  2. Откройте Termux.

  3. Выполните следующую команду:

    apt update -y && apt upgrade -y && apt install open-ssh -y &&
    ssh-keygen -t ed25519 -f /data/data/com.termux/files/usr/etc/ssh/ssh_host_ed25519_key
    

    Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.

    Если вы не хотите использовать кодовую фразу, нажмите Enter.

  4. Выведите открытый ключ в терминал и скопируйте его:

    cat /data/data/com.termux/files/usr/etc/ssh/ssh_host_ed25519_key.pub
    
  5. Обратитесь к следующему разделу, чтобы добавить ключ на ваш сервер.

Как добавить ключ на ваш сервер

  1. Откройте приложение SelfPrivacy.
  2. Перейдите на вкладку “Еще”.
  3. Нажмите на пункт “SSH-ключи суперпользователя”.
  4. Нажмите на кнопку “Создать SSH-ключ”.
  5. Вставьте открытый ключ, который вы скопировали ранее.
  6. Нажмите на кнопку “Создать ключ SSH”.
  7. Откройте список заданий.
  8. Нажмите на кнопку “Начать”.
  9. Через несколько минут вы сможете получить доступ к корневой оболочке вашего сервера через SSH.

Как получить доступ к корневой оболочке вашего сервера по SSH

  1. Откройте терминал или командную строку.
  2. Выполните следующую команду, заменив server_domain на домен вашего сервера:
    ssh root@server_domain
    
  3. Введите парольную фразу, которую вы ввели при генерации SSH-ключа, если ключ защищен паролем.

Будьте осторожны при использовании оболочки root. Если вы не знаете, что делаете, вы можете сломать свой сервер или допустить утечку приватных данных. Ответственность за последствия ваших действий лежит на вас. Уважайте конфиденциальность свою и других пользователей.

2 - Как сменить dns провайдера на deSEC

Для тех кто хочет сменить своего dns провайдера уже после установки сервера.

Мы рекомендуем использовать deSEC вместо CloudFlare. DeSEC нацелен на приватность.

Если вы сначала привязали ваш домен к CloudFlare и теперь хотите сменить провайдера, эта статья для вас.

Внимание, процесс довольно сложен, и если вы чувствуете, что что-то идет не так, можете смело писать нам в чат.

Переносим сервер имен (nameserver)

Сервер имен — это сервер, который переводит ваш домен (буквы) в IP-адрес сервера (цифры).

  1. Регистрируемся в deSEC.

  2. На странице “domains” нажимаем на кнопку “плюс”.

  1. Вводим свой домен.

  2. Копируем “nameservers”.

Теперь переходим на сайт провайдера, у которого вы покупали домен. Действия будут схожи для всех провайдеров, мы будем показывать на примере Porkbun.

  1. Переходим в панель управления вашим доменом.

  2. Находим там параметр “Authoritative nameservers”.

  1. Заменяем текущие адреса на те, что мы скопировали из deSEC в инструкции ранее.

  2. Сохраняем изменения.


Получаем токен deSEC

  1. Авторизуемся в deSEC

  2. Переходим на страницу Domains

  3. Переходим на вкладку Token management.

  4. Нажимаем на большую кнопку с “плюсом” в правом верхнем углу страницы.

  1. Должен появиться диалог “Generate New Token”. Вводим любое имя токена в Token name. Advanced settings необязательны, так что ничего там не трогаем.

  2. Кликаем Save.

  3. Обязательно сохраняем “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 не будет перезагружен.

Удаление старой системы

Когда вы устанавливаете SelfPrivacy на сервер, существующая система заменяется на NixOS. Но старая система все еще существует и занимает место на диске, поэтому вы можете откатиться к ней, если захотите.

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

du -h --max-depth=1 /old-root/

Если старой системы нет, вы увидите сообщение du: cannot access '/old-root/': No such file or directory.

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

rm -rf /old-root/

Это обычно освобождает около 1,8 Гб дискового пространства на типичных серверах SelfPrivacy.