Доступ к домашнему серверу через динамический IP с использованием SSH туннелирования

Введение

Иногда может возникнуть необходимость доступить свой домашний компьютер снаружи. Однако, большинство интернет-провайдеров предоставляют динамический IP-адрес, что осложняет задачу постоянного доступа к домашней сети. В этой статье мы рассмотрим, как использовать виртуальный сервер (VPS) и SSH туннелирование для создания стабильного доступа к вашему домашнему компьютеру через удобное доменное имя.

План действий

  1. Зарегистрировать доменное имя.
  2. Приобрести VPS с минимальными требованиями.
  3. Настроить подключение по SSH по сертификату без ввода пароля.
  4. Использование утилиты autossh для автоматического подключения к VPS.
  5. Настройка службы для автоматического запуска подключения.

Шаг 1: Зарегистрировать доменное имя

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

Шаг 2: Приобрести VPS

Приобретите VPS у любого удобного вам провайдера облачных сервисов. Убедитесь, что ваш VPS имеет статический IP-адрес и доступен по SSH.

Шаг 3: Настроить подключение по SSH по сертификату без ввода пароля

Генерация ключей SSH на домашнем компьютере

  1. Сгенерируйте пару ключей SSH (public/private) на вашем домашнем компьютере, если они еще не созданы:
   ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

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

  1. Загрузите публичный ключ на VPS:
   ssh-copy-id username@vps_ip_address

Настройка подключения по SSH с использованием приватного ключа

  1. Убедитесь, что вашему домашнему компьютеру можно подключаться к VPS без ввода пароля:
   ssh -i ~/.ssh/id_rsa username@vps_ip_address

Шаг 4: Использование утилиты autossh для автоматического подключения к VPS

Установка autossh

  1. На домашнем компьютере установите autossh:
   sudo apt update
   sudo apt install autossh

Настройка автоматического подключения с использованием autossh

  1. Создайте скрипт для запуска autossh. Например, создаем файл /usr/local/bin/start_autossh.sh:
   #!/bin/bash
   autossh -M 20000 -f -N -R 5000:localhost:80 username@vps_ip_address -i ~/.ssh/id_rsa
  1. Сделайте скрипт исполняемым:
   sudo chmod +x /usr/local/bin/start_autossh.sh

Шаг 5: Настройка службы для автоматического запуска подключения

Создание systemd сервиса

  1. Создайте файл конфигурации systemctl /etc/systemd/system/autossh.service:
   [Unit]
   Description=AutoSSH tunnel for VPS
   After=network.target

   [Service]
   User=username
   ExecStart=/usr/local/bin/start_autossh.sh
   Restart=always
   RestartSec=10s

   [Install]
   WantedBy=multi-user.target

Включение и запуск службы

  1. Перезагрузите конфигурацию systemctl:
   sudo systemctl daemon-reload
  1. Включите службу для автоматического запуска при загрузке:
   sudo systemctl enable autossh.service
  1. Запустите службу:
   sudo systemctl start autossh.service

Проверка работы службы

  1. Проверьте статус службы:
   sudo systemctl status autossh.service
  1. Убедитесь, что туннель работает правильно:
   ss -tuln | grep 5000

Остановка сервисов на VPS

  1. Перед запуском autossh можно остановить все процессы, которые слушают порт 5000 на VPS:
   ssh -i ~/.ssh/id_rsa username@vps_ip_address "killall -9 $(lsof -ti :5000)"

Объединение всех действий

  1. Модифицируйте скрипт start_autossh.sh, чтобы он включал остановку процессов на VPS:
   #!/bin/bash
   ssh -i ~/.ssh/id_rsa username@vps_ip_address "killall -9 $(lsof -ti :5000)"
   autossh -M 20000 -f -N -R 5000:localhost:80 username@vps_ip_address -i ~/.ssh/id_rsa

Теперь ваш домашний компьютер автоматически подключается к VPS с использованием SSH-туннеля, и служба перезапускается при необходимости. В случае отсутствия связи или сбоя туннеля autossh самопроизвольно восстанавливает соединение.

Рубрика: Linux, Программирование, Сетевое администрирвоание | Метки: , , , | Оставить комментарий

Как защитить код PHP. YAK Pro — Php-обфускатор

Вообще, в интернете можно найти много вариантов, как платных так и бесплатных, как решений on-line, так и неплохих решений для рабочей станции.

Рассмотрим как установить и настроить обфускатор для рабочей станции — YAK Pro.

Наши действия сводятся к тому, чтобы просто загрузить его с git, создать символьную ссылку на него и использовать его из консоли.

Итак, вот его официальный сайт: https://www.php-obfuscator.com/

Вот ссылка на GIT — https://github.com/phpcontrols/php-obfuscator

Читать далее
Рубрика: Linux, PHP, Программирование | Метки: , , | Оставить комментарий

Indexing Api от Google на службе OpenCart.

Сперва будет вопрос и небольшой спойлер: есть ли среди вас владельцы или администраторы интернет магазинов? А может есть SEJ-специалисты? Если есть напишите об этом в комментариях. 🙂

Далее речь пойдет о хорошем модуле для продвижения и ускоренного индексирования интернет магазинов на базе CMS OpenCart.

Читать далее
Рубрика: OpenCart | Метки: , , , | Оставить комментарий

Какое ПО я использую на Fedora Linux

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

Итак спиcок:

Читать далее
Рубрика: Linux | Оставить комментарий

Что нужно сделать после установки Fedora Linux 38:

Опишу кратко основной список. того, что сделал я:

Вообще после установки я сделал всё что написано вот в этой статье: https://egor-udalov.gitbook.io

На случай, вдруг статья пропадет, я её продублирую:

Читать далее
Рубрика: Linux | Метки: | Оставить комментарий

Айзек Азимов и ChatGPT

Предсказание будущего.

Айзек Азимов это Нострадамус в мире робототехники и Искусственного интеллекта. Да именно так. Человек, который жил задолго до появления роботов предсказывает в одном из своих произведений появление робота, который способен писать тексты, а хозяином этого робота является писатель… Писатель очень хочет усовершенствовать своего робота до такого уровня, чтоб тексты получались высококачественные, и у него это получается!

Читать далее
Рубрика: Книги | Метки: | Оставить комментарий

Visual studio Code + SFTP. Редактируем сайт удалённо.

Один из способов редактировать сайт удаленно это использовать какой либо ftp/sftp коммандер (FileZilla или WinCSP) + редактор, например, Notepad++.

Когда я искал решение для себя примерно от этого я отталкивался? но у этого решения есть ряд минусов:

Читать далее
Рубрика: Софт | Метки: , | Оставить комментарий

Пасхальный кулич с творожным кремом.

Опробовал сегодня найденный в интернете рецепт кулича в кулича в мультиварке. Получилось супер.

Читать далее
Рубрика: Рецепты | Метки: , | Оставить комментарий

LUT для преобразования HLG BT2020 в REC709

Являюсь довольным обладателем хорошей компактной камеры. SONY RX-100 Mark7

Есть в этой камере возможность снимать в HLG. Это дает возможность снимать видео с широким динамическим диапазоном, но после съемки видео надо бы обработать. Это можно сделать разными способами. Простой и самый быстрый применить LUT. А чтоб было еще проще, то LUT этот можно применять не в каком-то мощном видеоредакторе, а во очень хорошем конвертере видео, прямо во время перекодирования свежеснятого видео в какой либо другой формат. Конвертер этот — Shutter Encoder. В блоге была о нем статья.

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

Теперь алгоритм моих действий такой:

  • Снял видео.
  • Закинул в конвертер. Поставил две галки: стабилизация и LUT, выбрал конвертация в AV1.
  • Нажал кнопку старт.

В итоге на выходе отлично сжатый, стабилизированный файл, с широким динамическим диапазоном.

Ссылочки на LUT:

Рубрика: Фото/Видео | Метки: | Оставить комментарий

DVMT 5.0 Pre-Allocated (Fixed). Что же это за настройка?

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

Я люблю OpenSource продукты. Установил себе LibreOffice. Есть в этом пакете программа с помощью которой можно создавать векторную графику, так вот заметил я, что беру квадрат и заполненный синим цветом помещаю его на холст и начинаю тянуть его за край в разные стороны, квадрат этот увеличивается и уменьшается, но реакция на движения мышкой заторможенная, квадрат этот как бы запаздывает встать на ту позицию на которой мышка уже находится. То же самое я заметил и при выделении текста во Writer. Подтормаживало выделение текста…

Ноутбук у меня уже не новый, но с офисными пакетами еще должен справляться легко i5-6200 8Gb встроенная графика UHD520 и дискретная Nvidia 940mx. При работе в Windows, в офисе, в браузере, за обработку графики отвечает экономное видеоядро… Intel UHD 520. Конечно, можно попытаться обработку всего и вся передать на дискретную видеокарту, например, отключив через диспетчер задач, встроенный видеоадаптер, но зачем… Встройка должна прекрасно справляться с такими задачами.

Как оказалось в BIOS есть настройка DVMT 5.0 Pre-Allocated. В качестве значений у этой опции есть 32, 64, 128, 256 и 512 Мб. Поискав в интернете информацию я не нашел совета по ускорению работы встроенной графики в офисных программах, да и про эту настройку скудно написано. Но я решил попробовать эмпирическим путем выделить для своей встроенной карты 512 Мб, перезагрузиться и сравнить свои ощущения, какова была моя радость. когда никаких лагов на встроенной карте больше не было. Уменьшать значение я не стал, так и оставил. Теперь нет никаких лагов.

Есть еще один бонус, который я получил после настройки. Я люблю смотреть ютьюб в FullHD на скорости 2x. Иногда еще и видео попадается 50 или 60 кадров в секунду, всё это нагружало мою встроенную карту, и если щелкнуть по видео правой кнопкой и выбрать «статистика для сисадминов», то я видел, что много кадров «дропается», после добавления памяти, через эту настройку перестало терять кадры. Пользуйтесь! 🙂

Рубрика: Софт | Метки: , | Оставить комментарий