directman

<<< Back

Получаем безопасный доступ к Web странице MajorDoMo

Иногда приходится администрировать удаленные системы, где в целях безопасности закрыт доступ к ресурсам домашней сети. Единственный проброшенный ресурс - SSH доступ до сервера.

SSH

Протокол SSH позволяет создавать тунели, с помощью которых можно получить доступ к нужным ресурсам, в том числе к админке мажордомо, находящейся в домашней сети.

Как не странно, возможности создания SSH тунеля встроены в Putty

Алгоритм создания доступа к изолированной системе:

1) С помошью puttygen создаем публичный/приватный ключ.

В открывшемся окне, в настройках следует указать тип ключа и его длину и нажать кнопку «Generate». После нажатия, следует повозить мышью над окном программы, для того, чтоб программа смогла собрать последвательность случайных чисел.
1

Для этого воспользуемся программой PuttyGen. В открывшемся окне, в настройках следует указать тип ключа и его длину и нажать кнопку «Generate». После нажатия, следует повозить мышью над окном программы, для того, чтоб программа смогла собрать последвательность случайных чисел.
2

По окончании генерации окно программы будет выглядеть следующим образом:

2) Сохраняем приватный и публичный ключ в файлы.

Нажимаем кнопку «Save private key», и в открывшемся диалоговом окне вводим имя файла, содержащего секретный ключ. Назовем его, например private.key. Публичный ключ отображается в верхнем поле «Key» и имеет вид: «ssh-rsa AAAAB3NzaC1ycчто-тоuJQ== rsa-key-дата-создания-ключа″. Сохранять публичный файл не обязательно, но если вам потребуется в дальнейшем настраивать пдключение к другим серверам, тогда удобней копировать ключ из локально содержащегося файла. По аналогии с приватным ключем нажимаем кнопку "Save public key" и в открывшемся окне вводим имя файла, содержащего публичный ключ.

Копируем содержимое поля "Public key for pasting into OpenSSH authorized_keys file" в буффер обмена и закрываем PuttyGen.

3) Настраиваем соединение с сервером с помощью открытого ключа.

Запускаем ssh-клиент Putty и производим подключение к серверу обычным образом, вводя имя пользователя и пароль.

На сервере, проверяем наличие папки ~/.ssh.

ls -a ~/. |grep .ssh

Если ее нет, создаем командой:

mkdir ~/.ssh

Создаем файл ~/.ssh/authorized_keys и копируем в него публичный ключ, который мы скопировали в буффер обмена. Обратите внимание, что ключ должен находиться в одной строке, без переносов.

cd ~/.ssh
touch authorized_keys
vi authorized_keys

Устанавливаем права доступа к файлу authorized_keys и папке ~/.ssh:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

4) Настраиваем Putty на клиенте

Закрываем соединение, для этого выходим из PuTTY и запускаем программу снова. В настройках SSH соединения указываем путь к приватному ключу: Connection->SSH->Auth->Private_key_for_Authentification->private.key
3

Сохраняем настройки подключения и подкючаемся к серверу. SSH-сервер запросит имя пользователя под которым вы хотите войти в систему, укажите свой логин, тот для которого вы редактировали authorized_keys файл. Далее авторизация пройдет автоматом с использованием приватного ключа, находящегося у нас на компьютере и публичного ключа, находящегося в authorized_keys файле на сервере.

4

5) Создание SSH-туннелей с помощью PuTTY

Putty может создавать SSH тунели, одним из следующих вариантов:
1) Локальный проброс порта
2) Удалённый проброс порта
3) Socks–proxy

Рассмотрим первый вариант для подключения к удаленному Majordomo. Делаем настройки тунеля как на скриншоте:

8

Для того, чтобы каждый раз не перенастраивать, на вкладке Sassion сохраняем настройки кнопкой save.

10

6) Проверяем доступ

При обращении по адреcу http://localhost:8989/ через браузер вы должны увидеть страницу удаленного сервера. Тунель будет работать до тех пор, пока запущен putty.

9

Поздравляем, защищенный доступ до админки MajorDomo получен.

Посмотреть подключения удаленного сервера можно командой netstat -tlpn

Используемые материалы:
https://putty.org.ru/articles/putty-ssh-tunnels.ht...
http://profhelp.com.ua/articles/%D0%BD%D0%B0%D1%81...

Discuss (3) (16)

See also:
2020-04-24 Установка MajorDoMo на synology в 3 клика
2020-02-13 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
2020-02-13 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
2020-01-25 Команды для настройки прав пользователей на папку с majordomo
2020-01-23 Отключаем строгий режим MYSQL штатными средствами
2019-10-12 Подключаем светодиодные ленты к контроллеру MegaD
2019-10-11 Варианты интеграции электроприводов
2019-09-30 Выбор источников сигнала телевизоров LG 2013
2019-09-29 Узнаем версию дистрибутива linux
2019-09-24 Установка необходимых пакетов в xpenology через docker
2019-09-16 Примеры разметки Markdown
2019-09-14 Краткий обзор выключателей, в том числе Sonoff T4EU1C
2019-09-13 Сценарий для канала @MajorDoMo_feed
2020-03-26 Опыт установки Synology DSM
2019-09-09 Делаем majordroid лаунчером андройд по-умолчанию.
2019-09-04 Реализация сценария "кто-то пришел"
2019-09-02 Отправляем график hightcharts свойства любого объекта в телеграмм
2019-09-17 Автономная сигнализация на базе контроллера megad-2561
2019-08-27 Управление громкостью терминалов через телеграмм
2019-08-26 Полноценная консоль в браузере (wetty)
2019-08-16 Точечное регулирование радиаторов отопления
2019-08-18 Собираем голосовой помощник на базе WM8960 Audio HAT и raspberry pi zero w
2019-08-13 Общедоступная ссылка с закатом, рассветом и текущей погодой
2019-07-24 Самый дешевый вариант видеонаблюдения
2019-07-22 Запуск MajorDroid на одноплатниках, старых планшетах, телефонах.
2019-07-22 Запуск Majordroid на старом железе
2019-07-15 Устанавливаем opencv и необходимые библиотеки на ubuntu 18.04 без использования python
2019-07-05 Решение проблемы Incorrect integer value: '' for column 'ID' at row 1
2019-07-04 О приборах учета и удаленном снятии показаний (вода и газ)
2019-07-04 О приборах учета и удаленном снятии показаний (электричество)
2019-07-03 Конвертируем rs-485 в TCP-IP
2019-06-24 Наблюдение за радиационной обстановкой в регионе
2019-06-06 Меню пылесоса Xiaomi в телеграмм
2019-06-06 Удобный просмотр данных сенсоров через телеграмм
2019-06-06 Просмотр камер через телеграмм
2019-06-06 Управление светом через телеграмм
2019-06-06 Колор-пикер для телеграм
2019-05-06 Список символов emoji
2019-04-17 Установка z-way на Ubuntu
2019-04-16 Решение проблемы ERROR 1040 (HY000): Too many connections
2018-09-09 Список домофонов с IP интерфейсом
2018-08-29 Список кондиционеров с wifi
2018-08-29 Список доступных к покупке IP колонок
2018-07-15 Интеграция датчика Mi flora plant к системе УД MAJORDOMO
2018-06-13 Полезные команды для работы с git
2018-05-27 преобразование html страниц в картинку и отправка в телеграмм
2018-05-24 Полезные sql запросы
2018-05-23 Создание образа nand памяти orange pi plus2
2018-05-16 Команды для работы с базой данных напрямую
2018-04-13 Индикаторы о заряде батареек без использования картинок
2018-04-06 Установка и настройка python на windows для работы систем распознавания
2018-04-05 Распознавание лиц подходящих к двери людей с помощью ip камеры и открытие двери, если нейросеть признала своего
2018-04-04 Управление таймерами выключения света
2018-04-04 Управление RGB контроллером на базе ESP8266
2018-04-03 Увеличение разрешения китайских камер на чипе hi3516c H264
2018-03-13 Использование колонки google home в качестве терминала Majordomo
2018-03-13 Установка и подключение rtl usb донгла для чтения датчиков температуры и кнопок 433 мгц
2018-03-13 Настройка брокера MQTT
2018-02-17 Проект "умная входная дверь"
2018-02-11 Отправка всех значений свойства объекта в телеграм
2017-12-21 получение адреса по GPS координатам
2017-12-21 получение / передача GPS координат сервису livegps.com
2017-12-21 чтение мгновенных данных U,P, I электросчетчика милур 104
2017-12-21 Получение координат с маяков и gsm сигнализаций starline-online.ru

Екатеринбург, Россия

На форуме: directman66