Доступ к cPanel через SSH туннель
Друзья, всем привет! Ежедневно я работаю с серверами(удаленно), иногда попадаются сервера где открыт для подключения только один 22 порт (SSH), из-за чего возникает сложность с доступом к панели управления сервером, например cPanel(порт 2083) или HestiaCP(порт 8083), возникает вопрос — как же зайти в панель управления? На самом деле, решение данной задачи простое и при этом элегантное — перенаправляем свой локальный трафик в SSH туннель, таким образом, чтобы при запросе(со стороны клиента) на http://localhost:2083 у нас открывался ресурс с сервера. Далее по шагам.

1. Генерируем ключ для SSH
Ключ нам нужен для авторизации, чтобы SSH не запрашивал пароль(доступ по ключу). С помощью утилиты PuTTY Key Generator для Windows создаем ключ и сохраняем его в формате .ppk, инструкция тут.
2. Конвертируем в Openkey
Полученный ключ конвертируем в приватный ключ формата OpenSSH(именно с данным форматом ключей работают стандартные утилиты SSH в Windows/Linux), в меню PuTTY Key Generator выберите Conversions / Export OpenSSH key и укажизываем имя выходного файла (получится файл с расширением .key, назовем его например public.key).
Также это можно сделать в Linux (пример для Ubuntu):
sudo apt-get install putty-tools |
После этого можно конвертировать ключи так:
puttygen ваш_ключ.ppk -O private-openssh -o ваш_ключ.pem |
3. Перенаправляем трафик
Перенаправляем(транслируем) локальный трафик с http://localhost:2083 в тоннель SSH, для доступа к ресурсу на сервере:
Для этого в командной строке Windows выполняем:
ssh -L 2083:localhost:2083 root@10.0.0.101 -i "C:\public.key" |
2083 — Порт на удаленном сервере (для cPanel 2083, для HestiaCP 8083, для BrainyCP 8002, для ISPManager 1500);
10.0.0.101 — IP удаленного сервера;
root — Пользователь;
C:\public.key — Путь до Openssh файла ключа.
4. Доступ к панели
В браузере вводим http://localhost:2083 (порт cPanel) и попадаем в панель управления на сервере.
5. Настройка хостов
Если надо прописываем на сервере в hosts следующую запись:
127.0.0.1 you_ip.cprapid.com |
Зачем это надо? Дело в том, что cPanel прописывает себя на сервере(в конфигурации nGinx) как you_ip.cprapid.com и доступна именно по этому адресу, а не localhost. С другими панелями может быть нечто аналогичное.

Автор:






