Добавить в корзинуПозвонить
Найти в Дзене

[Cloud.ru] Создание новой ВМ. Настройка сети. Доступ по SSH.

Данная статья является частью серии статей: Виртуальная машина для pet-проектов
В статье описан пример создания ВМ в Cloud.ru. Основное отличие от официальной документации в том, что тут приводится несколько дополнительных настроек.
Создавать ВМ будет на базе Linux Ubuntu с публичным IP и доступом по SSH через логин и пароль.
Особенностью провайдера Cloud.ru является то, что для новых ВМ с новым
Оглавление

Данная статья является частью серии статей: Виртуальная машина для pet-проектов

В статье описан пример создания ВМ в Cloud.ru. Основное отличие от официальной документации в том, что тут приводится несколько дополнительных настроек.

Создавать ВМ будет на базе Linux Ubuntu с публичным IP и доступом по SSH через логин и пароль.

Особенностью провайдера Cloud.ru является то, что для новых ВМ с новым публичным IP требуется дополнительная настройка сети, иначе не будет работать выход в интернет, в частности не будет работать даже такая привычная команда, как:

sudo apt update

Создание ВМ

Я предполагаю, что вы уже зарегистрировались в Cloud.ru

Cloud.ru новым пользователям предлагает бесплатную машину, но в этой статье мы будем создавать новую.

Создаем Публичный IP

Начнем не с создания ВМ, а с аренды IP

В лк Cloud.ru нажимаем «Evolution» — «Сеть» — «Публичные IP».

-2

Нажимаем «Арендовать публичный IP».

-3

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

Нажимаем «Арендовать».

-4

Можете подождать, когда статус IP сменится с «Создаётся» на «Свободен».

Или сразу перейти к следующему шагу: создание ВМ.

-5

Создаём ВМ

Нажимаем «Evolution» — «Инфраструктура» — «Виртуальные машины».

-6

Нажимаем «Создать виртуальную машину».

-7

Придумываем название машине и указываем ту же область доступности, что и у нашего IP из предыдущего шага.

-8

Выбираем ОС Ubuntu 22.04, и для простых pet-проектов можно снизить стоимость ВМ, если изменить диск с SSD на HDD.

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

Нажимаем «Продолжить».

-9

Переходим в пункт «Публичные IP» и выбираем наш IP.

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

-10

Метод аутентификации указываем «Пароль».

Придумываем логин и пароль для пользователя.

-11

Ежемесячная стоимость ВМ обошлась в 329 руб. + 150 за IP (в табличке по неясной причине указано 0 руб.).

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

-12

Создаём ВМ и дожидаемся, когда статус поменяется на «Запущена».

-13

Работа в консоли

Пока единственный способ зайти на ВМ — это через консоль в ЛК. Но мы этот нюанс скоро исправим.

А пока у нас на выбор 2 варианта:

  • Виртуальная консоль
  • Серийная консоль.
-14

Лично мне приятней работать в серийной консоли, но она пока баганутая.

Если не хотите багов, то выбор за виртуальной консолью, но тут не работает Ctrl+C, Ctrl+V... Придётся ручками всё прописывать.

Заходим в консоль и логинимся под user1.

-15

  • По умолчанию у меня стоит оболочка sh. Проверяем командой:
echo $0

Я поменяю оболочку на bash, в ней приятней работать

chsh -s /bin/bash

Вводим пароль от user1

ВАЖНО! Перезапускаем соединение

exit

и логинимся заново

Настраиваем доступ в сеть

Если вы, как и я, создали новую ВМ и публичный IP, то, скорее всего, у вас не будет работать доступ в интернет. Проверяем

ping -c 2 ya.ru

Если ping не проходит, то выполняем команды

sudo cloud-init clean
sudo cloud-init init

На всякий случай делаем ребут.

sudo reboot

Проверяем доступ в инет ещё раз

ping -c 2 ya.ru

Обновляем пакеты

sudo apt update && sudo apt upgrade -y

Если есть сетевые ошибки, значит, есть какая-то проблема с cloud-init. Тут либо сами разбираться, в чем проблема, в интернете есть ресурсы, по которым можно решить проблему, либо обратиться в поддержку, там должны помочь.

А можно радикальней поступить: удалить ВМ и IP и создать всё заново.

Создаём пользователя без root прав

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

sudo useradd -m -s /bin/bash user2
sudo passwd user2

Придумываем пароль для user2

Настраиваем подключение к ВМ по SSH

Я пользуюсь vim, т.к. мне так проще, другими редакторами пользоваться не привык. Vim считается сложным для пользователей редактором, поэтому можете редактировать файл как-то иначе.

  • Правим SSH конфиг.
sudo vim /etc/ssh/sshd_config

Нажимаем на i, чтобы перейти в режим редактирования.

И двигаемся стрелками вверх и вниз по файлу.

  • Отключаем дополнительный конфиг

Без этого отключения мы не сможем зайти по паролю

Меняем

Include /etc/ssh/sshd_config.d/*.conf

На

#Include /etc/ssh/sshd_config.d/*.conf

  • Указываем параметр аутентификации по паролю.

Меняем

#PasswordAuthentication yes

На

PasswordAuthentication yes

  • Запрещаем логиниться без указания пароля

Меняем

#PermitEmptyPasswords no

На

PermitEmptyPasswords no

  • Отключаем вход по ключам

Меняем

#PubkeyAuthentication yes

На

PubkeyAuthentication no

  • Запрещаем вход root

Меняем

#PermitRootLogin prohibit-password

На

PermitRootLogin no

  • Делаем доступ по SSH только для user2

Добавить (например, в конец):

AllowUsers user2

user1 несмотря на то, что сепер пользователь, не будет иметь доступ по SSH

  • Выходим из редактирования ESC и сохраняемся командой :wq!

  • Проверяем синтаксис:
sudo sshd -t

  • Если ошибок нет, перезапускаем SSH:
sudo systemctl restart sshd

Пробуем зайти по SSH

По SSH на виртуальную машину можно зайти

  • С телефона через программы (и их аналоги):
  1. Termius
  2. JuiceSSH
  • С компьютера через программы (и их аналоги):
  1. MobaXterm
  2. PuTTY

Я покажу подключение на примере MobaXterm

  • Скачиваем, устанавливаем программу
  • Открываем программу нажимаем Session
-16

Можно входить иначе, но тут предложу самый короткий вариант

Нажимаем SSH — вводим IP сервера — нажимаем OK.

-17
  • Когда первый раз подключаешься к серверу, то появится окно, и в нём надо выбрать Accept.
  • Вводим логин и пароль от user2.
  • Если ввести логин и пароль от user1, то увидим сообщение: Access denied.

На этом всё, спасибо, что дочитали!