В этом блоге я размещу свой проект определения местоположения скутера Voi в облаке. Хотя слово «облако» может звучать красиво, это всего лишь чей-то компьютер.

Код должен извлекать данные и хранить их круглосуточно и без выходных. Но я не хочу тратить энергию впустую, также светодиоды на моем рабочем столе светятся ночью, влияя на мой сон. Поэтому я решил, что хочу VPS (виртуальный частный сервер). Он не использует мое электричество и потребляет меньше энергии по сравнению с физическим ПК с той же спецификацией, потому что разные виртуальные серверы используют одно и то же энергоемкое оборудование, такое как блоки питания и материнские платы, согласно CloudVPS.com.

Другая причина в том, что я изучил VPS, когда писал код своего бота для Discord, и это просто еще один инструмент на моей панели инструментов.

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

Поиск поставщика VPS

Я искал в Интернете простой и дешевый VPS, который дал много результатов. Тем не менее, многие веб-сайты выглядят очень схематично, я не доверяю им данные своей кредитной карты. Кроме того, большинство дешевых провайдеров просят вас заплатить авансом за год или взимают высокую плату за установку. Я также попытался проверить провайдеров, выполнив поиск на Trustpilot, веб-сайте, где вы можете найти рейтинги и комментарии к бизнесу, чтобы определить, доверяете ли вы ему, в то время как некоторые провайдеры имеют хорошие оценки и комментарии, комментарии выглядят поверхностно, как будто некоторые боты генерировали их. Подводя итог, я обнаружил следующие распространенные ловушки VPS:

Распространенная ловушка VPS

  • Автоматическая подписка: они пытаются заставить вас забыть, что вы подписались, и взимают с вас плату каждый месяц.
  • Трудно отменить: это мой страх номер один, что, если нет простого способа отменить подписку, и она продолжает взимать плату.
  • Длительный срок контракта: они рекламируют низкую цену, но потом вы узнали, что вам нужно заключить контракт на 1 год.
  • Плата за установку: цена, которую они рекламируют, не включает плату за установку.
  • Схематичный веб-сайт: провайдер может быть ненадежным и может просто украсть у вас деньги.
  • Поддельный рейтинг: хотя веб-сайт может иметь хорошие оценки на Trustpilot, комментарии и рейтинг могут быть поддельными.

Поэтому я решил придерживаться того, которым пользовался раньше, хотя он и не самый дешевый, но предлагает разумный сервис по разумной цене. Что еще более важно, я знаю, что могу легко отменить подписку и могу заплатить через Paypal, что не позволяет им автоматически списывать деньги с моего банковского счета. Они должны выставить мне счет, а потом я плачу. Я также отметила дату следующего месяца в своем календаре, чтобы помнить об отмене, если понадобится.

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

Есть и другие поставщики, предоставляющие масштабируемые услуги, такие как Digital Ocean, Microsoft Azure, AWS и Google Cloud. Причина, по которой я их не использую, заключается в том, что я слышал слишком много историй о том, что они берут большие деньги из-за того, что клиент совершает ошибку. С этим дешевым VPS пропускная способность ограничена, а передача данных не ограничена, поэтому с меня не будет взиматься дополнительная плата. Если моя программа пойдет не так и будет использовать много пропускной способности или ресурсов, у нее просто закончатся ресурсы, вместо того, чтобы сервис автоматически масштабировался и взимал с меня большую плату за это.

Купил ВПС. Я использовал Linux в качестве ОС (операционной системы), поскольку она эффективна и не раздута, и я выбираю Ubuntu, потому что это лучший дистрибутив. Я просто пошутил, я не думаю, что какой-либо дистрибутив лучше, я использую Ubuntu, потому что я использовал его раньше, и это мой выбор для комфорта.

Я получил свои учетные данные по электронной почте, а именно IP-адрес (интернет-протокол), имя пользователя и пароль. Я использую Termius, так как он имеет интуитивно понятный интерфейс (пользовательский интерфейс) и является бесплатным для студентов через Github student pack. Я ввожу учетные данные, пока 22 соответствует порту, поскольку это порт SSH (безопасная оболочка) по умолчанию. Потом подключил.

Я нашел свои старые заметки о том, что делать при настройке нового VPS.

Обновление VPS

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

sudo apt update sudo apt upgrade

sudo означает суперпользователя, поэтому он работает с большим разрешением. apt update обновляет список пакетов последними доступными версиями, а apt upgrade фактически обновляет и устанавливает последние версии пакетов, которые уже установлены в соответствии с LinuxHint.com.

Что вы увидите при установке обновлений.

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

Настроить контроль доступа

Защита вашего VPS очень важна. Многие люди запускают ботов для атаки случайных серверов VPS. Если вы не будете осторожны, вы можете стать их жертвой. Как и я, которого взломали дважды. Я планировал включить эту историю сюда, но это сделало бы эту статью слишком длинной, я создам новый блог, рассказывающий об этом, и свяжу его здесь, когда закончу.

Защита вашего VPS

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

Итак, мы сначала добавляем нового пользователя и даем ему доступ sudo. Обратите внимание, что при добавлении пользователя вам также необходимо указать пароль, я сгенерировал свой 50-символьный пароль на PasswordsGenerator.net в целях безопасности.

adduser {name} usermod -aG sudo {name}

Затем мы хотим отключить вход в систему root, а также изменить порт SSH, так как люди обычно атакуют порт 22 по умолчанию, поэтому его изменение еще больше снижает вероятность того, что хакеры получат доступ к вашему VPS.

Мы открываем файл конфигурации SSH в редакторе файлов nano по

sudo nano /etc/ssh/sshd_config

Затем вы увидите стену текста, но вам нужно изменить только две вещи:

Установка Fail2Ban

Наконец-то я установлю сервис под названием Fail2Ban, он сканирует лог-файлы и блокирует IP-адреса, которые показывают вредоносные признаки — слишком много ошибок пароля, поиск эксплойтов и т. д.

sudo apt install fail2ban

Поскольку я использую Ubuntu, я могу просто установить, и он будет работать, но для других дистрибутивов Linux вам нужно будет зайти на этот сайт и посмотреть, как его активировать.

Передача скрипта

Я использовал функцию SFTP в Termius для передачи скрипта простым перетаскиванием.

Настройка скрипта

Поздравляю, VPS наконец-то готов к использованию, теперь я выхожу из-под root и вхожу в систему со своими новыми учетными данными. Затем я бегу

Он создает новый экран, я делаю это, потому что работаю с интерфейсом командной строки, и одновременно может произойти только одно. Думайте об этом как о вкладках Chrome: я открываю вкладку, делаю что-то, а затем могу работать с другими вкладками, не затрагивая эту вкладку. screen создает новый экран, на котором я могу работать над чем-то, и могу покинуть этот экран, чтобы поработать над чем-то другим на других экранах.

Затем я захожу в нужную папку и запускаю скрипт

cd getVoiLocation python3 main.py

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

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

Эта статья ссылается на источники, используя гиперссылки в тексте на первоисточник. Я делаю это, потому что, хотя я знаю и могу использовать стиль ссылок APA или IEEE, эта статья носит неформальный характер, и я считаю, что мой способ ссылок более эффективен и читабелен на веб-сайте блога.

Первоначально опубликовано на https://chit.hashnode.dev.