Мені потрібен був доступ до Linux сервера, який знаходився в середині локальної мережі за фаєрволом. Через фаєрвол та роутер дати доступ до сервера не було можливості. Прийшлося шукати обхідні шляхи – як добратися до консолі внутрішнього сервера по SSH? Рішення було знайдено. Виявляється є чудовий механізм тунелювання (tunnelling), за допомогою якого можливо прокинути фактично будь-які мережеві протоколи, забезпечивши надійне шифрування.
За допомогою тунелів можливо відкрити собі доступ до ресурсів, які часом бувають заборонені налаштуваннями корпоративного сервера. Наприклад отримати доступ до Internet де це заборонено, або потрапити в забанені злим адміном соціальні мережі. 😉
Наведу приклад як я це робив. Початковим і кінцевими вузлами є сервери на Libux Debian. Проміжним вузлом буле комп’ютер на ОС Windows, який знаходиться в середині локальної мережі разом із цільовим сервером. Під Windows є незамінна утиліта putty до якої я дуже звик і яка буде допомагати нам створити тунель. В загальному випадку проміжний вузол на ОС Windows не потрібен, все можна налаштувати на сєрваках, але не в моєму випадку, так як я налаштовував тунель віддалено через TeamViewer.
- Запускаємо Putty. В категорії Session у полі HostName (or IP address) вказуємо IP адресу нашого сервера в Інтернет (Хоста), припустимо 11.22.33.44. Та у полі Port номер порту для SSH, припустимо 22.
- В категорії Connection->SSH->Tunnels вводимо довідний порт тунелю (припустимо 3333), IP адресу та порт вашого локального сервера (припустимо 192.168.0.3:22), а також поставимо галочки Remote та IPv4. Не забуваємо натиснути Add! Далі жмемо Open.
- Вводимо в консолі ваш логін та пароль Хосту. Тунель готовий!
- Тепер якщо в консолі Хоста набрати:
>ssh -p3333 localhost
то ми попадемо на наш локальний сервер.
Гарного настрою!
Ресурси які варто полистати: