Доступ к cPanel через SSH туннель

Author Автор: Роман Чернышов   

Друзья, всем привет! Ежедневно я работаю с серверами(удаленно), иногда попадаются сервера где открыт для подключения только один 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. С другими панелями может быть нечто аналогичное.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 359₽
Популярные записи
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка