December 17, 2024

Подготовка сервера для установки нод

Телеграм канал о нодах и тестнетах: Kopeyka DAO

Статья содержит в себе основную информацию по подготовке сервера для установки нод.

Покупаем и готовим сервер

Покупка сервера

Мы рекомендуем хостинг для серверов play2go по причине отличного соотношения цена/качество. Тариф выбираем либо согласно гайду, либо предварительно посчитав требования выбранных для установки нод.

На скрине довольно хорошие тарифы, начиная с DE-2. DE-1 для своих мощностей дороговат

Если нужен сервер с меньшими ресурсами - идём в раздел Promo:

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

Подключение к серверу по SSH

Для того, чтобы работать с сервером, нужно к нему подключиться. Делается это при помощи SSH - Secure Shell - технологии, позволяющей дистанционно управлять операционной системой.

Скачиваем SSH-клиент. Лично я предпочитаю Tabby - удобный софт с кучей возможностей. Подходит Windows, macOS и Linux.

Tabby.sh

Далее выполняем пошагово:

1. Заходим в настройки
2. Выбираем профили и соединения, добавляем новый
3. Выбираем SSH-соединение

Важный момент. Заполняем хост (IP-адрес) и имя пользователя, которое получили при покупке сервера на хостинге. Порт остаётся по умолчанию. Нажимаем на кнопку “Установить пароль” и пишем туда тот, что получили при покупке сервера на хостинге.

Далее сохраняем профиль. При подключении к серверу появится pop-up с предложением сохранить отпечаток хоста. Соглашаемся.

Настройка сервера

В первую очередь сервер настраивается из соображений безопасности.

Генерация SSH-ключей

Для начала сгенерируем SSH-ключи для нашего устройства.

В командной строке на устройстве выполняем следующую команду:

ssh-keygen -t ed25519  

На все запросы нажимаем Enter, ничего не указывая. На устройстве в указанной директории создаётся пара ключей - публичный и приватный.

Как должна выглядеть генерация ключей. По подчеркнутому пути находится публичный ключ. В этой же директории находится приватный ключ

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

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

Пара ключей генерируется один раз и используется для всех ваших серверов.

Установка зависимостей

Переходим обратно в Tabby на вкладку с сервером. Обновляем системные пакеты:

sudo apt-get update && sudo apt-get upgrade -y

Устанавливаем минимальный набор зависимостей на наш сервер:

sudo apt-get install -y sudo vim tmux htop git curl wget unzip zip gcc build-essential make ncdu jq

Создание пользователя

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

Создаём пользователя:

useradd имя_пользователя -d /home/имя_пользователя -m -G users -s /bin/bash

Устанавливаем пароль:

passwd имя_пользователя

Выдаём права суперпользователя новому пользователю:

usermod -a -G sudo имя_пользователя

Имя пользователя настоятельно рекомендуется писать на латинице, без использования спецсимволов и в нижнем регистре.

Аутентификация SSH-ключей

Записываем сгенерированный в пункте 1 публичный SSH-ключ в файл с авторизованными ключами.

Следуйте гайду строго! Если на этом этапе что-то сделать неправильно, вы можете навсегда потерять доступ к серверу.

Файла по умолчанию не существует. Создаём его мы в домашней директории, то есть в директории нашего пользователя в директории .ssh (~/.ssh). Файл называем authorized_keys.

sudo vim ~/.ssh/authorized_keys

Вход в режим редактирования в vim осуществляется нажатием клавиши a латинской. Выход - нажатием esc.

Открываем в текстовом редакторе на устройстве файл с публичным ключом id_ed25519.pub и копируем содержимое. Вставляем в файл authorized_keys.
Сохраняем файл и выходим из vim следующим образом:

Нажимаем esc, пишем :wq и нажимаем Enter

Настройка конфига SSH

Далее настраиваем конфиг SSH. Поменяем порт сервера, выдадим нашему пользователю доступ, запретим логин для рутированных пользователей и подключение к серверу по паролю.

sudo vim /etc/ssh/sshd_config

И снова будьте осторожны. Здесь нельзя ошибаться, иначе можно потерять доступ к серверу.

Нужно найти и поменять следующие строки. Если строк нет, нужно их дописать.

Port 52225
PermitRootLogin no 
AllowUsers имя_пользователя 
PasswordAuthentication no

Меняя порт, можно указать любой на ваше усмотрение, который далёк от часто используемых и ни с чем не пересекается.

Сохраняем файл и выходим из vim, перезапускаем процесс sshd.

sudo systemctl restart sshd

Настройка сервера завершена.

Осталось переподключиться к серверу по SSH-ключу.

Редактируем наше SSH-соединение

Выбираем метод аутентификации по ключу.

Не забудьте поменять порт на новый, который указывали в конфиге.

Добавляем наш приватный ключ с устройства. Файл с приватным ключом называется id_ed25519

Подключаемся к серверу. Снова появится pop-up с предложением сохранить отпечаток хоста - соглашаемся.

Заключение

Теперь на сервер установлены основные программы, зависимости и настроен SSH - в общем, он готов для установки на него нод. SSH настраивается для того, чтобы к серверу не подключились злоумышленники и нежелательные лица, если получат доступ к паролю.

Сказать спасибо:

0x4C3EB159d7155f5f4B1d70E42BCD690a91a5cf4B

KopeykaDAO | KopeykaDAO chat