Skip to content

Начало работы с VPS сервером

Краткое руководство по настройке вашего нового VPS сервера. Будет полезно для новичков, и даже опытных пользователей.


Только начали работу с вашим новым сервером? Эта инструкция поможет вам настроить и обезопасить ваш сервер — даже если вы только начали пользоваться серверами. А если вы уже опытный пользователь, возможно, найдёте для себя что-то полезное!

Установить Ubuntu для простоты и надёжности

Использование последней версии ОС Ubuntu LTS (Long-Term Support) — это надёжный способ обеспечить стабильную и безопасную работу вашего проекта. В этой инструкции описывается процесс установки ОС Ubuntu на VPS сервер размещённый у нас.

Если вы планируете заказать новый сервер

При заказе нового сервера вам будет доступна возможность выбрать операционную систему своего нового сервера.

Для этого щелкните на выпадающий список с выбором ОС, и выберите самую последнюю доступную версию Ubuntu:

ordering a server with ubuntu

После вы можете продолжить процесс заказа и оплаты услуги.

После активации сервера вы получите данные для входа на сервер по SSH-протоколу:

new server login instructions

Если у вас уже есть активный сервер

В таком случае нужно будет переустановить ОС вашего сервера, если у вас ещё не установлена ОС Ubuntu на сервере.

Для этого нужно будет перейти в панель управления виртуальными серверами. Самый простой способ попасть туда - через личный кабинет. Перейдите в список серверов с помощью бокового меню, выберите любой сервер, и нажмите на кнопку "Перейти" (на англ. - "To panel"):

getting into the vm panel

В открывшемся окне выберите нужный вам сервер и щелкните на кнопку параметры:

getting into the server management

Далее нужно будет раскрыть меню и выбрать опцию "Переустановить ОС" (на англ. - "Reinstall OS"):

selecting the reinstall os option

Выберите последнюю доступную версию Ubuntu, введите предпочитаемый пароль (либо воспользуйтесь уже сгенерированным), выберите скрипт ПО, которое вы хотели бы установить на сервер (если требуется) и смело нажмите на кнопку "Переустановить" ("Reinstall").

selecting ubuntu as the operating system

ВНИМАНИЕ

При переустановке ОС будут удалены все данные с сервера. Это действие никак невозвратимо, и данные восстановить будет нельзя. Рекомендуем проверить, сохранены ли важные данные с сервера у вас локально или в облаке во избежание потери важных данных.

Настройка firewall с помощью UFW

Uncomplicated Firewall (UFW) — это удобный инструмент для управления доступом по сети к вашему серверу.

Настройте его следующим образом:

  1. Убедитесь, что UFW установлен:

    bash
    sudo apt install ufw
  2. Разрешите соединения по SSH:

    bash
    sudo ufw allow OpenSSH
  3. Активируйте UFW:

    bash
    sudo ufw enable
  4. Проверьте статус (включён ли он)

    bash
    sudo ufw status

Если ufw ответил:

bash
root@servername:~# ufw status
Status: active

Тогда брандмауэр уже работает и блокирует подключения к неразрешённым портам.

Если вы планируете размещать веб-сервер, игровой сервер, или какое-то другое приложение, которое выходит в Интернет - вы можете разрешить подключения к порту с помощью команды:

bash
ufw allow [port]

Например:

bash
ufw allow 80

С помощью этой команды вы откроете 80-й порт для вашего веб-сервера.

Создание нового пользователя вместо root

Работа под root небезопасна. Вместо использования root-пользователя, давайте создадим нового пользователя и предоставим ему права суперпользователя.

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

От root-пользователя введите следующие команды:

bash
sudo adduser username

В команде замените username на имя вашего нового пользователя.

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

ПОДСКАЗКА

Утилита так же попросит вас предоставить множество необязательных данных, таких как Полное Имя, Номер Комнаты, Рабочий Телефон, Домашний Телефон и прочую ненужную информацию.

Эти данные необязательны в заполнении, и их заполнение может быть пропущено с помощью клавиши [Enter], пока вы не дойдёте до диалога с подтверждением.

После ввода всех данных, утилита спросит, подтверждаете ли вы создание нового пользователя.

Если вы ввели все данные так, как вам нужно - согласитесь с утилитой нажав на английскую клавишу [Y] на клавиатуре.

Предоставление прав sudo пользователю

Для предоставления прав суперпользователя нашему новому пользователю, воспользуйтесь командой:

bash
sudo usermod -aG sudo username

Готово! Теперь вы можете войти под вашим новым пользователем с помощью команды:

bash
sudo login

Отключение root-доступа по SSH

Для повышения безопасности отключите вход под root:

  1. Отредактируйте конфигурацию SSH:

    bash
    sudo nano /etc/ssh/sshd_config
  2. Найдите и измените параметр PermitRootLogin на no:

    bash
    PermitRootLogin no
  3. Сохраните изменения в файле. Сделать это можно нажав на связку клавиш [CTRL]+[X], позже нажать на английскую букву [Y] для подтверждения и нажать на [Enter].

  4. Перезапустите службу SSH с помощью команды:

    bash
    sudo systemctl restart sshd

Использование SSH-ключей вместо пароля

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

Ключи хранятся локально на вашем ПК, и могут быть использованы различными приложениями, включая SSH-клиенты и Visual Studio Code.

Для установки входа по ключу, следуйте за указанными шагами:

Сгенерируйте новый приватный ключ

Введите эту команду на своём ПК для генерации новой связки ключей:

bash
ssh-keygen -t rsa -b 4096

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

Утилита так же попросит вас ввести кодовую фразу (пароль) для усиленной защиты вашего сервера.

Этот шаг необязателен, но настоятельно рекомендуется. Если вы решите установить пароль на ключ, рекомендуем очень хорошо запомнить его, либо записать на лист бумаги и беречь его в безопасном месте, так как пароль изменить будет нельзя.

После генерации ключа утилита должна будет ответить примерно вот так:

bash
Your identification has been saved in test
Your public key has been saved in test.pub
The key fingerprint is:
SHA256:DdMvV6JQAZ4Xs5BO56pPfP/V5obIfiZjsaIBwlLnlTo senko@digital
The key's randomart image is:
+---[RSA 4096]----+
|        oo=.     |
|       .o*.+     |
|    . .oOo+ . .  |
|   o o o.*.o o   |
|  . o E S.+ o    |
|   . . +.  o.   .|
|       .+ .. + .+|
|      .. o..B ++.|
|       .o. +o*...|
+----[SHA256]-----+

Скопируйте публичный ключ на свой сервер

bash
ssh-copy-id username@server_ip

вместо username - имя уже существующего пользователя под которым вы хотите входить на сервер через ключ

вместо server_ip - IP-адрес вашего сервера

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

Подключитесь к серверу с помощью вашего SSH-клиента (на Windows доступны Termius, Bitvise SSH Client и другие), при этом в настройках укажите ваш приватный ключ который вы сгенерировали.

В случае использования OpenSSH

Если вы не пользуетесь сторонним клиентом, и полагаетесь на встроенный OpenSSH в ОС Windows или Linux, проследуйте нижеуказанным шагам:

1. Перейдите в папку .ssh

В ОС Windows она находиться по пути C:\Users\%username%\.ssh

В ОС семейства Linux папка должна находиться в домашней директории пользователя - /home/username/.ssh

2. Создайте конфигурационный файл OpenSSH

Создайте новый файл под названием config (обязательно без расширения).

Если файл уже существует, перейдите в режим редактирования и проследуйте по следующему шагу.

3. Настройте конфиг OpenSSH

В файл config нужно внести вот такую информацию:

bash
Host ConnectionName
 HostName server-ip
 User username
 Port ssh-port
 IdentityFile ~/.ssh/private-key-name

ConnectionName - алиас, название вашего подключения. Например: discord-bot, website-prod, gmod-server и так далее. Будет использоваться для быстрого подключения к серверу без ввода IP, логина и пароля (ssh aliasname).

server-ip - IP-адрес вашего сервера.

username - имя пользователя к которому нужно будет устанавливать подключение.

ssh-port - порт SSH, который используется на вашем сервере.

private-key-name - название вашего приватного ключа, которое вы указывали при его генерации

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

bash
 ssh aliasname

Отключите вход по паролю в файле sshd_config

Для этого перейдите в файл, введя на сервере команду:

bash
sudo nano /etc/ssh/sshd_config

В файле найдите строчку с PasswordAuthentication и выставьте её на no:

bash
PasswordAuthentication no

Сохраните изменения в файле.

Перезапустите SSH

bash
sudo systemctl restart sshd

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

Регулярное обновление ОС

Регулярные обновления критически важны для безопасности вашего сервера. Рекомендуется обновлять сервер и ПО на нём хотя бы раз в неделю.

Вы можете обновить список репозиторий и скачать последние версии ПО и ОС с помощью команды:

bash
sudo apt update && sudo apt upgrade -y

Мониторинг нагрузки на сервер с помощью htop

Для мониторинга ресурсов сервера, вы можете воспользоваться утилитой htop. Она во многом похожа на привычный нам "Диспетчер задач" из ОС Windows.

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

  1. Установите htop на сервер:

    bash
    sudo apt install htop
  2. Запустите утилиту:

    bash
    htop

htop at a glance


Следуя этому руководству, вы получите безопасный и надёжный сервер, готовый для выполнения различных задач.

Не забывайте регулярно обновлять систему и мониторить её состояние для поддержания стабильной работы.