Мой Телеграмм
Попробую сделать пару заметок-статей, в которых покажу, как можно работать с облачными виртуальными машинами. В первую очередь это будет полезно для тех, у кого при слове Linux случается паническая атака. Я не буду тратить время на объяснение, что такое Linux и виртуальные машины (далее — ВМ), а начнем сразу с того, что необходимо пользователю, чтобы начать с ними работать в облаке.
Итак, первое, что понадобится, — это выбрать облако. Сейчас достаточно большое количество компаний предоставляет доступ к облакам. Я покажу на примере Яндекса (это не реклама), просто мне более привычно, но в целом процесс создания ВМ через интерфейс не должен сильно отличаться.
Итак, для начала вам нужно создать аккаунт в Яндексе, в облаке создать платёжный аккаунт, привязать к нему карту и положить туда какое-то количество денег. Если вы первый раз регистрируетесь в Яндекс Облаке, возможно, Яндекс даст вам какой-то грант, который можно активировать, но карту, по-моему, всё равно придётся привязать. К сожалению, облачные ресурсы стоят енег, но в учебных целях можно 100 рублей растянуть на около месяца, если действовать с умом.
Я пользуюсь VSCode (это бесплатная IDE, если кто не знает) и всё буду делать через неё.
Для подключения к будущей облачной ВМ нам понадобятся SSH-ключи. SSH-ключ состоит из двух файлов: публичного и приватного. Приватный хранится у вас, публичный вы передаёте в те места, к которым хотите подключиться. У меня Windows, и я, соответственно, буду действовать исходя из этого.
Итак, второе, что мы делаем, — это открываем VSCode и идём в терминал.
Если что, под терминалом понимается строка, в которой будут вводиться команды и всё, что там выдаст операционная система. Итак, первая команда, которая нам понадобится, это ssh-keygen. По умолчанию эта команда создаст в папке C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh пару SSH-ключей. В моём случае я воспользуюсь дополнительным параметром этой команды и создам пару ключей немного в другой директории, потому что у меня на компьютере уже есть основной SSH-ключ, и я просто хочу отличить основной от того, что создам сейчас.
Итак, в моём случае команда выглядит так:
ssh-keygen -f C:\Users\user_name\.ssh\for_example\for_example
Это путь C:\Users\user_name\.ssh\for_example\, и каталог for_example должен уже существовать. После нажатия Enter система попросит ввести пароль. Ввести его нужно будет два раза, при этом система не будет показывать символы, поэтому убедитесь, что стоит нужная раскладка клавиатуры, и запомните пароль, он ещё пригодится
И тут, по идее, вы должны увидеть нечто вот такое:
Это означает, что ваши SSH-ключи успешно созданы и сохранены в указанной директории. Вы можете зайти в директорию C:\Users\ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\, если вы не указывали дополнительных параметров в команде ssh-keygen, или же пройти по тому пути, который вы указали и увидеть 2 файла.
После того как вы успешно создали ключи, можно перейти к работе с Яндекс Облаком. После того как вы успешно зарегистрировались в Яндекс Облаке и пополнили баланс (не кидайте туда много денег, можно кинуть 50 рублей и посмотреть, может вам вообще это не подойдет, или ищите промокод для нового пользователя), вы, по идее, должны увидеть что-то похожее на изображение ниже.
Нас интересует раздел Compute Cloud. У меня там что-то уже создано, у вас же там может быть всё по нулям. В Compute Cloud вас ждёт следующая картина:
Тут будет список виртуальных машин, которые вы будете создавать. У меня сейчас тут есть машинка, у вас будет пусто. В правом верхнем углу есть кнопка “Создать виртуальную машину”. Жмём её и попадаем в следующий интерфейс.
Тут происходит настройка виртуальной машины, а справа указывается цена за месяц её работы. Стоит отметить, что это стоимость именно рабочей машины. Если машина создана, но не работает, то она всё равно тратит деньги со счёта, но значительно меньше. У меня получается около 8 рублей в день за выключенную виртуальную машину. Поэтому желательно удалять все созданные для учебных целей ресурсы, которыми не собираетесь пользоваться в ближайшее время. Ну или платите деньги, если вам так удобнее. В менюшке справа также можно переключиться на час и посмотреть, сколько машина съест денег за один час работы.
По большому счёту, единственное, что тут стоит поменять, это поставить вот эту галочку.
Этим вы разрешаете Яндексу раз в сутки перегружать вашу виртуальную машину. Но при этом стоимость её обслуживания падает почти в 3 раза
Остальное для первого раза менять особо не нужно, так как эта виртуальная машина, скорее всего, будет использоваться недолго.
Что действительно необходимо сделать:
1. Придумать логин, под которым вы будете заходить на виртуальную машину.
2. Добавить публичный SSH-ключ для подключения.
Под этим логином вы будете подключаться к этой машине, выбирайте его осознанно, а не оставляйте набор символов.
Для ключа также придумайте имя, его можно будет использовать при создании других ресурсов.
Вам нужно прямо выбрать файл и придумать название для этого SSH-ключа, чтобы в дальнейшем его можно было просто выбрать, а не загружать заново. Ещё раз, загружать нужно публичный SSH-ключ!!!
Все, нажимаем ниже на создать виртуальную машину и ждем пока она с конфигурируется
После того как машина создалась у нее появится статус Running и присвоится публичный IP адрес. Это IP адрес тоже пригодится
Теперь к этой машине нужно подключиться. Для этого идём в терминал VSCode и пишем следующую команду, которая у меня выглядит так, потому что я создавал отдельный от моего основного ключ.
ssh -i C:\Users\user_name\.ssh\for_example\for_example test_users_for_e@158.160.61.58
У вас эта команда может выглядеть просто
ssh test_users_for_e@158.160.61.58
test_users_for_e — это то имя пользователя, которое вы задавали при создании виртуальной машины. То, что идет после “собачки”, — это публичный IP-адрес. После этого система попросит ввести ваш пароль, который вы задавали при создании пары ключей. И если вы все сделали правильно, то вы увидите нечто такое.
Все поздравляю, вы подключились к работающей машине по ssh
Какие то осмысленные действия с виртуальной машиной оставим на следующий раз
Хочу ещё раз подчеркнуть: не забудьте удалить виртуальную машину, если не собираетесь ей пользоваться в ближайшее время, потому что даже остановленная машина потребляет деньги.