Начало работы с VPS сервером
Краткое руководство по настройке вашего нового VPS сервера. Будет полезно для новичков, и даже опытных пользователей.
Только начали работу с вашим новым сервером? Эта инструкция поможет вам настроить и обезопасить ваш сервер — даже если вы только начали пользоваться серверами. А если вы уже опытный пользователь, возможно, найдёте для себя что-то полезное!
Установить Ubuntu для простоты и надёжности
Использование последней версии ОС Ubuntu LTS (Long-Term Support) — это надёжный способ обеспечить стабильную и безопасную работу вашего проекта. В этой инструкции описывается процесс установки ОС Ubuntu на VPS сервер размещённый у нас.
Если вы планируете заказать новый сервер
При заказе нового сервера вам будет доступна возможность выбрать операционную систему своего нового сервера.
Для этого щелкните на выпадающий список с выбором ОС, и выберите самую последнюю доступную версию Ubuntu:
После вы можете продолжить процесс заказа и оплаты услуги.
После активации сервера вы получите данные для входа на сервер по SSH-протоколу:
Если у вас уже есть активный сервер
В таком случае нужно будет переустановить ОС вашего сервера, если у вас ещё не установлена ОС Ubuntu на сервере.
Для этого нужно будет перейти в панель управления виртуальными серверами. Самый простой способ попасть туда - через личный кабинет. Перейдите в список серверов с помощью бокового меню, выберите любой сервер, и нажмите на кнопку "Перейти" (на англ. - "To panel"):
В открывшемся окне выберите нужный вам сервер и щелкните на кнопку параметры:
Далее нужно будет раскрыть меню и выбрать опцию "Переустановить ОС" (на англ. - "Reinstall OS"):
Выберите последнюю доступную версию Ubuntu, введите предпочитаемый пароль (либо воспользуйтесь уже сгенерированным), выберите скрипт ПО, которое вы хотели бы установить на сервер (если требуется) и смело нажмите на кнопку "Переустановить" ("Reinstall").
ВНИМАНИЕ
При переустановке ОС будут удалены все данные с сервера. Это действие никак невозвратимо, и данные восстановить будет нельзя. Рекомендуем проверить, сохранены ли важные данные с сервера у вас локально или в облаке во избежание потери важных данных.
Настройка firewall с помощью UFW
Uncomplicated Firewall (UFW) — это удобный инструмент для управления доступом по сети к вашему серверу.
Настройте его следующим образом:
Убедитесь, что UFW установлен:
bashsudo apt install ufw
Разрешите соединения по SSH:
bashsudo ufw allow OpenSSH
Активируйте UFW:
bashsudo ufw enable
Проверьте статус (включён ли он)
bashsudo ufw status
Если ufw ответил:
root@servername:~# ufw status
Status: active
Тогда брандмауэр уже работает и блокирует подключения к неразрешённым портам.
Если вы планируете размещать веб-сервер, игровой сервер, или какое-то другое приложение, которое выходит в Интернет - вы можете разрешить подключения к порту с помощью команды:
ufw allow [port]
Например:
ufw allow 80
С помощью этой команды вы откроете 80-й порт для вашего веб-сервера.
Создание нового пользователя вместо root
Работа под root небезопасна. Вместо использования root-пользователя, давайте создадим нового пользователя и предоставим ему права суперпользователя.
Создание нового пользователя
От root-пользователя введите следующие команды:
sudo adduser username
В команде замените username
на имя вашего нового пользователя.
При создании пользователя вас попросят ввести пароль - рекомендуется использовать пароль минимум из 8 символов, 1 цифрой и 1 специальным символом - так его будет подобрать намного сложнее.
ПОДСКАЗКА
Утилита так же попросит вас предоставить множество необязательных данных, таких как Полное Имя
, Номер Комнаты
, Рабочий Телефон
, Домашний Телефон
и прочую ненужную информацию.
Эти данные необязательны в заполнении, и их заполнение может быть пропущено с помощью клавиши [Enter]
, пока вы не дойдёте до диалога с подтверждением.
После ввода всех данных, утилита спросит, подтверждаете ли вы создание нового пользователя.
Если вы ввели все данные так, как вам нужно - согласитесь с утилитой нажав на английскую клавишу [Y]
на клавиатуре.
Предоставление прав sudo пользователю
Для предоставления прав суперпользователя нашему новому пользователю, воспользуйтесь командой:
sudo usermod -aG sudo username
Готово! Теперь вы можете войти под вашим новым пользователем с помощью команды:
sudo login
Отключение root-доступа по SSH
Для повышения безопасности отключите вход под root:
Отредактируйте конфигурацию SSH:
bashsudo nano /etc/ssh/sshd_config
Найдите и измените параметр
PermitRootLogin
наno
:bashPermitRootLogin no
Сохраните изменения в файле. Сделать это можно нажав на связку клавиш
[CTRL]
+[X]
, позже нажать на английскую букву[Y]
для подтверждения и нажать на[Enter]
.Перезапустите службу SSH с помощью команды:
bashsudo systemctl restart sshd
Использование SSH-ключей вместо пароля
SSH-ключи обеспечивают более безопасную авторизацию, заменяя устаревшую технологию паролей на длинный приватный ключ, который будет использоваться при авторизации.
Ключи хранятся локально на вашем ПК, и могут быть использованы различными приложениями, включая SSH-клиенты и Visual Studio Code.
Для установки входа по ключу, следуйте за указанными шагами:
Сгенерируйте новый приватный ключ
Введите эту команду на своём ПК для генерации новой связки ключей:
ssh-keygen -t rsa -b 4096
При процессе генерации ключа вы можете указать своё название ключа для более удобного доступа к нему.
Утилита так же попросит вас ввести кодовую фразу (пароль) для усиленной защиты вашего сервера.
Этот шаг необязателен, но настоятельно рекомендуется. Если вы решите установить пароль на ключ, рекомендуем очень хорошо запомнить его, либо записать на лист бумаги и беречь его в безопасном месте, так как пароль изменить будет нельзя.
После генерации ключа утилита должна будет ответить примерно вот так:
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]-----+
Скопируйте публичный ключ на свой сервер
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
нужно внести вот такую информацию:
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
- название вашего приватного ключа, которое вы указывали при его генерации
После можете сохранить файл и попробовать подключиться к серверу с помощью команды:
ssh aliasname
Отключите вход по паролю в файле sshd_config
Для этого перейдите в файл, введя на сервере команду:
sudo nano /etc/ssh/sshd_config
В файле найдите строчку с PasswordAuthentication
и выставьте её на no
:
PasswordAuthentication no
Сохраните изменения в файле.
Перезапустите SSH
sudo systemctl restart sshd
Готово! Теперь авторизация по паролю пользователя отключена, и зайти на сервер можно будет только с помощью приватного ключа.
Регулярное обновление ОС
Регулярные обновления критически важны для безопасности вашего сервера. Рекомендуется обновлять сервер и ПО на нём хотя бы раз в неделю.
Вы можете обновить список репозиторий и скачать последние версии ПО и ОС с помощью команды:
sudo apt update && sudo apt upgrade -y
Мониторинг нагрузки на сервер с помощью htop
Для мониторинга ресурсов сервера, вы можете воспользоваться утилитой htop
. Она во многом похожа на привычный нам "Диспетчер задач" из ОС Windows.
Программа выводит различную информацию про сервер, включая нагрузку на процессор, степень свободности оперативной памяти, количество и список запущенных процессов, аптайм и многое другое.
Установите htop на сервер:
bashsudo apt install htop
Запустите утилиту:
bashhtop
Следуя этому руководству, вы получите безопасный и надёжный сервер, готовый для выполнения различных задач.
Не забывайте регулярно обновлять систему и мониторить её состояние для поддержания стабильной работы.