Тунелі ssh, кидок портів за допомогою ssh, кидок сервісів через фаєрвол, linux exp group
SSH Туннелирование - VPN для бідних гиків
Чому SSH тунелі замість VPN? Ок, я використовую вдома то і то. Якщо ви стежили за моїми повідомленнями на jaysonbroughton.com, то знаєте, що у мене в роботі трехфакторая аутентифікація OpenVPN (ім'я користувача, сертифікат і одноразовий пароль). Але якщо я хочу перевірити один з серверів під моїм керуванням через Андроїд, або зазирнути в комп'ютер, на якому я не маю адміністративних прав (а вони потрібні портативного OpenVPN-клієнту), або навіть хочу виправити якісь помилки за допомогою vnc-доступу поверх SSH-тунелю, тоді SSH - мій вибір способу убезпечити трафік.
Ми обговоримо базові речі: як побудувати тунель, що означає той чи інший синтаксис команди, розберемо приклади реверсивних тунелів і ситуації, в яких ви повинні використовувати той чи інший підхід. Я також поверхнево пробігся по структурі конфігураціонног файлу.
Отже, про системні вимоги. Я використовую Дебіан у віртуальному середовищі, тому ваші результати можуть відрізнятися від моїх. Тому наводжу інформацію про інструментах: експлуатується сервер OpenSSH_5.3p1 і різні за версіями клієнти OpenSSH 5.X. Перед тим, як зануритися в глибини ssh-тунелювання повинен сказати: перед тим, як проколупнути діру в безпеці компанії за допомогою реверсивного тунелю або загортання http-трафіку переконайтеся, що ви не порушите будь-якого стека внутрішніх регламентів типу Internet Acceptable Use Policy. Зрозуміло, що в цьому випадку Системні Адміністратори негайно вистежать і підсмажать вас, особливо якщо ви використовуєте тунель для потрапляння на сервер на роботі з дому. Як Системного Адміністратора сам я отримую неабияке задоволення, виявивши таких персонажів. Повірте, при невеликій перевірці з'ясується, що системні адміністратори зовсім не держиморди.
Ну ось, дісклаймер озвучений, можна приступати.
Побудова SSH-тунелів досить нескладна річ. Розуміння того, що відбувається і вивчення підходів може виявитися трохи складніше. Тому я дам кілька типових випадків для налаштування свідомості перед тим, як ми перейдемо до подробиць команд. До того, як у мене з'явилися діти, я досить багато подорожував. У своїх подорожах мені доводилося опинятися в досить дивних готелях, в кімнатах яких були вельми дивні Wi-Fi точки доступу. Ви дійсно захочете коннектітся до точки доступу готелю, у якій SSID набраний неперекладної абракадаброю? Або в аеропорту, де кілька відкритих мереж? Коли я десь в зовнішньому світі, вважаю за краще туннелировать веб-трафік на свій рутованних андроїд через домашній сервер. Коли у мене в руках мій лептоп, я відкриваю ssh-тунель і перенаправляю веб-трафік через socks5 так, щоб весь вхідний до мене потік був шифрованих. Я довіряю відкритим WAP лише остільки, оскільки можу через них ходити. Що ще про відкрите тексті? Я туннелируют SMTP трафік на своєму комп'ютері через домашній сервер коли в деяких місцях бачу, що виходить SMTP блокується. Схожа ситуація з POP3. Інший приклад: можна управляти X-додатками через тунель. Можна загортати в тунель VNC-сесії. Одна з технік, яку я почав використовувати раніше інших - це реверсивні тунелі. В цьому випадку ви створюєте тунель від сервера, який знаходиться за фаєрволом. Коли ви заходите на той SSH-сервер, ви можете відновити з'єднання.
Перед тим, як глянути з боку клієнта, потрібно виконати деякі речі на стороні сервера за допомогою редагування конфігураційного файлу sshd.config, де я раджу зробити такі зміни. Перед внесенням змін скопіюйте оригінальний конфіг для збереження, якщо щось піде не так як задумано.
cp / etc / ssh / sshd_config /etc/ssh/sshd_config.orig