VPS на Ubuntu. Часть 1 — хостинг, домен, SSH.

Изображение для статьи VPS на Ubuntu. Часть 1 - хостинг, домен, SSH

В этом цикле статей я расскажу как создать свой VPS на Ubuntu 18.04 LTS, на котором будут работать ваш личный VPN, DNS, почтовый и прокси сервер. Также мы разместим сайт.

В первой части цикла мы рассмотрим предварительные требования и первоначальную настройку системы на базе Ubuntu 18.04 LTS. Итак, давайте начнем.

Требования

Итак, для разворачивания своего сервера нам потребуется две вещи:

  • VPS хостинг
  • Домен

Арендуем VPS у хостера

Нам подойдёт любой VPS с достаточным количеством памяти, на который можно установить серверную Ubuntu. Я разворачивал систему, включая пару сайтов на VPS с 2Gb памяти и все работало стабильно.

Сразу после минимальной установки Ubuntu 18.04 LTS использует около 300Mb оперативки.

В настоящее время достаточно легко найти недорогую и производительную виртуальную машину за небольшие деньги. Этот провайдер, например, предлагает за 3.99 € в месяц такую конфигурацию: 2 ядра с 4Gb RAM, 300Gb SSD и безлимитный трафик на 100Mbit канале. Если вы ограничены в средствах, то рассмотрете вариант от 2.99 €. За эти деньги вы получите 1 ядро, 2GB RAM, 20Gb SSD и трафик 20Tb.

Другой вариант — облачный хостинг от Amazon или Google. Для новых пользователей есть множество бесплатных сервисов на первый год в Amazon и кредит 300$ в Google, чего вполне хватит для разных экспериментов. Если виртуальная машина нужна вам только для обучения, то ее можно включать, когда вы садитесь за компьютер, и выключать после. Тогда затраты будут буквально несколько центов, т.к. оплата начисляется только за время ее работы.

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

Тут все проще. Купить можно у любого регистратора доменных имен. Например, nic.ru или reg.ru

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

На самом деле в настройке собственного сервиса доменных имён нет ничего сложного. Я вам это покажу в дальнейшем.

Устанавливаем серверную Ubuntu 18.04

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

Во-первых, я предпочитаю устанавливать операционную систему из официального образа с сайта производителя. Как это сделать, например, для хостинга contabo.com я описал в этой статье.

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

меню метода разметки дисков
Выбираем метод разметки дисков.

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

Диалог ввода ключевой фразы для шифрования VPS на Ubuntu
Задаем ключевую фразу.

В процессе дальнейшей установки, не забудьте установить OpenSSH. Он понадобится для удаленного доступа к нашему серверу.

Меню выбора программного обеспечения для быстрой установки  VPS на Ubuntu
Выбираем установку OpenSSH.

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

Запрос пароля на шифрованный том при загрузке VPS на Ubuntu
Вводим пароль на шифрованный том при загрузке.

После этого вы попадете в консоль сервера, где можете ввести логин и пароль, но мы с вами будем настраивать удаленный доступ по SSH

Доступ к серверу по SSH

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

ssh-keygen

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

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9wg3ygtSyc41e7du4qWQFSqePUPdgkMwdm8pTHK6RyU user@host
The key's randomart image is:
+---[RSA 3072]----+
|      = E .      |
|     . X + .     |
|      . = =      |
|     . = * o     |
|      * S B .    |
|     = O @ =     |
|    . * X o +    |
|     . . *.+..   |
|        ..o+o    |
+----[SHA256]-----+

После создания ключевой пары нам необходимо скопировать открытый ключ на сервер. Для этого служит утилита ssh-copy-id. В команде, указанной ниже, user — это пользователь, которого мы создали, а host — ip-адрес сервера, который вам выделил хостер.

ssh-copy-id -i ~/.ssh/id_rsa user@host

В процессе выполнения вам придется подтвердить отпечаток ключа, ответив ‘yes’ и ввести пароль пользователя сервера.

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/id_rsa.pub"
The authenticity of host 'ubuntu1804s (192.168.7.75)' can't be established.
ECDSA key fingerprint is SHA256:BROo7rA5DVnzAOUhze/ODbrQ2iH0w+nx16w0QsRVjhk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@ubuntu1804s's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'user@ubuntu1804s'"
and check to make sure that only the key(s) you wanted were added.

После этого мы, наконец-то, можем удаленно соединиться с нашим виртуальным сервером по протоколу SSH, выполнив следующую команду:

ssh user@host

Попав на сервер вы увидите на экране нечто подобное:

Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-76-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun Mar 22 11:49:53 MSK 2020

  System load:  0.0                Processes:           105
  Usage of /:   17.3% of 10.09GB   Users logged in:     0
  Memory usage: 6%                 IP address for ens3: 192.168.7.75
  Swap usage:   0%


Могут быть обновлены 34 пакета.
29 обновлений касаются безопасности системы.


To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

user@ubuntu1804s:~$ 

Нам осталось настроить параметры безопасности sshd. Для этого откройте файл sshd_config:

sudo vim /etc/ssh/sshd_config

и строку

#PasswordAuthentication yes

замените на

PasswordAuthentication no

Тем самым мы запретим парольную аутентификацию. Вход будет возможен только по ключу.

На этом первая часть цикла подошла к концу. В следующей статье мы займемся настройкой необходимых сервисов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *