Youtubezilla.ru

Мастер бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Рассмотрим следующую ситуацию. Мы находимся внутри корпоративной сети, у нашего компьютера адрес 192.168.0.2, доступ во внешний мир полностью закрыт (то есть никакого NAT–а, proxy и т.п.). Влиять на политику ограничения доступа у нас возможности нет, но зато есть SSH–доступ на один из серверов с маршрутизируемым IP–адресом, который доступен из Интернета. Внутренний адрес этого сервера, пусть будет для примера 192.168.0.3. Структура сети изображена на рисунке:

PuTTY SSH Tunnels Schema

Предположим, что нам очень нужно подключиться, к примеру, по SSH на некоторый удалённый сервер с IP–адресом 212.212.212.212 где–то далеко в Интернет. Для этого запускаем PuTTY, создаём SSH–подключение к серверу 192.168.0.3 (далее по тексту SSH–сессия 1), идём в пункт Tunnels:

PuTTY SSH Tunnels Config

и указываем, что локальный порт 2222 нашего компьютера должен быть поставлен в соответствие порту 22 на сервере с IP–адресом 212.212.212.212. Далее жмём кнопку «Open», авторизуемся на сервере 192.168.0.3. Затем создаём ещё одно подключение (далее по тексту SSH–сессия 2), но уже на localhost, порт 2222 и жмём кнопку «Open»:

PuTTY SSH Tunnels Connect

В результате SSH–сессия 2 будет туннелироваться (т.е. будет установлена внутри ранее установленной SSH–сессии 1). Для удалённого сервера 212.212.212.212 всё будет выглядеть так, как будто к нему подключается 111.111.111.111:

PuTTY SSH Tunnels Schema Tunnel

Подключение к серверу

Если вы работаете на Windows (как и я), то для подключения к нашему удаленному серверу вам потребуется программа Putty. Скачиваем с официального сайта и устанавливаем на свой ПК.

После установки запускаем программу, в поле Host Name вводим наш IP-адрес (который получили в инструкции), порт оставляем 22 и жмем на кнопку «Open»:

Подключение к серверу через Putty

Если при первом подключении у вас появилось подобное окно, то жмем «Да»:

Putty Security Alert

Далее в открывшемся терминале вводим наш логин, который получили в инструкции (обычно это root) и жмем Enter на клавиатуре. После этого нужно ввести пароль. Для этого скопируйте его в буфер обмена и вставьте в терминале в нужном месте щелчком правой кнопки мыши.

Читайте так же:
Как удалить hi.ru из браузера

Терминал Putty

Поздравлю! Вы подключились к серверу!

Если у вас один из вариантов линукса, BSD, UNIX или Мак — поздравляем, SSH-клиент у вас уже есть. Для его запуска достаточно набрать в командной строке что-то подобное:

Здесь login — это имя пользователя, под которым вы хотите зайти на сервер, а 11.22.33.44 — IP-адрес этого сервера. Чаще всего используется 22 порт, но иногда эта настройка может меняться.

Порт — это что-то вроде номера маршрутки, которая идёт по городу. Все привыкли, что если нужно «доехать» до SSH, то садятся на маршрутку номер 22. Но иногда начальник городского транспорта (администратор) может поменять номер, тогда вместо 22-й маршрутки нужно будет садиться, например, на 320-ю.

У Виндоус нет встроенного SSH-клиента, поэтому нужно скачать его отдельно. Чаще всего выбирают PyTTY — SSH-клиент с графической оболочкой, в которой можно настраивать параметры соединения:

Минимально нужно указать адрес сервера, 22 порт уже написан по умолчанию.

Готовим серверную часть

Прос­тые вещи вро­де нас­трой­ки RDP или SSH-сер­вера мы рас­смат­ривать не будем. Инс­трук­ций в интерне­те име­ется тьма, а у нас объ­ем огра­ничен, да и перег­ружать статью не хочет­ся. Так­же я не ста­ну под­робно рас­ска­зывать, как реали­зовать получе­ние дан­ных с Kerio Control: на стра­нице про­екта мож­но най­ти го­товый код.

Пер­вым делом нам нуж­но раз­решить RDP-под­клю­чения на кли­ент­ских машинах в локаль­ной сети. Если там реали­зова­но цен­тра­лизо­ван­ное управле­ние типа Active Directory, тебе повез­ло. Раз­реша­ем под­клю­чение к RDP в груп­повых полити­ках. Если нет, обхо­дим рабочие мес­та ногами и раз­реша­ем на целевых локаль­ных машинах RDP. Не забыва­ем и о фай­рво­лах.

Вто­рым шагом нам понадо­бит­ся дос­тупный из интерне­та SSH-сер­вер. Тех­ничес­ки подой­дет любое решение. Я исполь­зовал VPS с Debian 10 (один мой зна­комый под­нимал такой сер­вак даже на роуте­ре, что небезо­пас­но). Даль­ше сто­ит раз­делить решения на нес­коль­ко вер­сий, кон­крет­ная реали­зация зависит от того, как орга­низо­вано получе­ние дан­ных для авто­риза­ции поль­зовате­лей.

Читайте так же:
Аналоги Тор Браузера

Пер­воначаль­но у нас исполь­зовал­ся Kerio с авто­риза­цией поль­зовате­лей через AD.

Схема подключенияСхе­ма под­клю­чения

Кли­ент под­клю­чал­ся по SSH, проб­расывал порт на API Kerio Control Server, затем под­клю­чал­ся к нему, выпол­нял поиск по задан­ным парамет­рам (логин или фамилия сот­рудни­ка), искал IP локаль­ного ПК. Далее раз­рывал SSH-соеди­нение и уста­нав­ливал новое уже с проб­росом пор­та на най­ден­ный IP, на порт RDP (3389), пос­ле чего штат­ными средс­тва­ми Windows под­нималась сес­сия RDP с переда­чей парамет­ров под­клю­чения.

Та­кое решение работа­ло доволь­но быс­тро, но нам это­го ста­ло мало, и мы раз­делили его на две час­ти. Сер­верный скрипт стал работать на SSH-сер­вере и сам вре­мя от вре­мени ходить в Kerio за информа­цией. Кли­ент­ская часть под­клю­чалась к сер­веру по SFTP, иска­ла нуж­ные дан­ные, офор­млен­ные в JSON, и выпол­няла под­клю­чение. В ито­ге ско­рость работы уве­личи­лась.

Ре­комен­дую сра­зу нас­тро­ить сер­вер OpenSSH с дос­тупом по клю­чам и под­готовить RSA-клю­чи для авто­риза­ции. Для это­го нуж­но соз­дать отдель­ного поль­зовате­ля и огра­ничить его в пра­вах, затем отдать ему пуб­личную часть клю­ча. Ниже при­веду часть / etc/ ssh/ sshd_config с нас­трой­ками этих двух поль­зовате­лей:

4. SSH-туннель Layer 3 (сетевой уровень): туннелируем udp-трафик

В начале статьи было сказано о том, что ssh-туннель базируется на транспортном протоколе tcp и поэтому отправить в такой туннель udp-трафик не получится. Однако в операционных системах семейства Linux есть возможность создавать tun-интерфейсы, которые работают на сетевом уровне модели OSI и оперируют ip-пакетами.

В организации ssh-туннеля с помощью tun-интерфейсов есть один серьезный недостаток — авторизация на ssh-сервере должна происходить под учетной записью root. Это создает уязвимость вашей компьютерной сети т.к. пароль root будет передаваться через открытую сеть Интернет.

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

  • Использовать для root довольно сложный пароль на подобии хэша md5;
  • Или настроить авторизацию по ключам.
Читайте так же:
Настройка и подключение ASUS RT-N14U

Для создания туннеля необходимо в конфигурационном файле OpenSSH разрешить туннелирование. Добавьте в файл /etc/ssh/ssh_config следующую строку:

Для того чтобы можно было использовать парольную авторизацию root:

Для подключения к ssh-серверу и создания туннеля через tun-интерфейсы используется следующая команда:

Аргумент -w создает интерфейсы tun0 на клиенте и сервере.

ssh туннель layer3 с tun интерфейсами

Затем необходимо настроить ip адреса tun интерфейсов и добавить необходимые маршруты.

Туннели с tun-интерфейсами работают на 3 уровне модели OSI, а значит должны пропускать ICMP и UDP трафик. Поэтому проверку работоспособности туннеля можно выполнить, послав icmp-запрос на какой-либо хост из удаленной сети: ping 172.16.0.100.

В качестве заключения:
SSH-туннели позволяют просто и быстро создать защищенный канал и получить доступ к тем ресурсам, к которым казалось невозможым подключиться. Главное помнить, что такие туннели нельзя расценивать как средство создания vpn-сетей. Благодаря простоте и быстроте настройки они идеально подходят для проброса портов, получения удаленного доступа или траблшутинга.

SSH клиенты для windows

PuTTY — клиент для подключения к SSH, Telnet, SCP, SFTP.

PuTTy — это популярный SSH- и Telnet-клиент (Telnet — тот же SSH, только без шифрованной передачи данных (пакетов)), т.е. программа для безопасного подключения к удаленному компьютеру (или к серверу) и выполнения на нем различных команд. PuTTY ведет логи, позволяет настраивать шрифты, цвета и разрешение консоли, допускает сохранение в своей памяти ключей авторизации, поддерживает работу через прокси-сервер. При этом утилита является бесплатной в распространении.

Для того, чтобы начать работу с PuTTy, скачайте её с официального сайта здесь .

Документацию по программе Вы можете найти здесь (только на англ.), FAQ по ней здесь .

Для начала работы запустите файл putty.exe. Перед Вами появится окно, представленное на рисунке ниже.

Читайте так же:
Конвертировать PDF в PowerPoint

SSH клиенты для windows

В поле Host Name or IP address) вводите имя сервера или его ip, которые Вы узнали в разделе «Тех. информация«(например, robin.beget.com или pixel.beget.com). Порт оставляйте по умолчанию 22. В поле Saved Sessions введите любое имя сессии (коннекта), например my_session, и нажмите Save. После этого нажмите Open и Вы увидите такое окно.

SSH клиенты для windows

В поле login as введите имя Вашего пользователя (совпадает с логином аккаунта для доступа в ПУА), нажмите Enter. После чего появится надпись Password. Вводите Ваш пароль для доступа по SSH (также совпадает с паролем от ПУА). Не пугайтесь — во время ввода пароля на экране ничего не отображается (ни звёздочек, ни чего-либо подобного). После того, как Вы закончили вводить пароль, нажмите Enter.
Если логин и пароль введены верно, то произойдёт подключение к серверу и Вы попадете в командную оболочку Linux.

Также заметим, что сочетание Ctrl+V и Ctrl+C в PuTTy не работают. В буфер обмена копируётся всё, что выделено с помощью мыши, а вставка осуществляется либо правой кнопкой мыши, либо сочетанием клавиш SHIFT+INSERT.

PuTTY, пожалуй, один из самых популярных SSH-клиентов для Windows. Популярен он за свою функциональность, быстроту работы, простоту использования. И он бесплатный! Скачайте этот клиент и установите его. Как он работает мы уже разобрали выше.

В стартовом окне приветствия сразу можно ввести все параметры подключения, запустить соединение и сразу же приступить к работе. Можно сохранить это подключение на будущее, чтобы каждый раз не вводить все данные заново. Это удобно.

WinSCP

WinSCP — еще одна довольно популярная программа-клиент. С помощью нее можно установить зашифрованное соединение к FTP-серверу удаленной машины путем туннелирования трафика через протокол SSH.

Читайте так же:
Сторис в Инстаграм: вовлечь за 15 секунд

SSH клиенты для windows

Работает быстро. Интерфейс похож на PuTTY. Ничего сверхъестественного, поэтому разобраться с подключением будет не сложно. Все то же самое: хост, порт, имя пользователя и пароль — все, что требуется для подключения и дальнейшего управления файловой структурой сервера.

Xshell

Xshell — бесплатный для некоммерческого использования клиент.

SSH клиенты для windows

Преимущества программы: поддержка локальных команд, управление файлами и туннелирование. Имеет простой командный интерфейс. Помимо SSH-протокола поддерживает и другие: RLOGIN, SFTP, TELNET, SERIAL. Для профессиональных пользователей есть куча дополнительных настроек: динамическое перенаправление портов, поддержка сценариев, трассировка, функции настройки безопасности.

SFTP-клиент WinSCP

Для доступа к вашему виртуальному веб-серверу используйте адрес ssh.идентификатор.nichost.ru.

Имя пользователя для подключения совпадает с идентификатором услуги хостинга.

Для изменения пароля используйте раздел FTP и SSHSSH панели управления хостингом.

Настройка SFTP-клиента «WinSCP»

Скачать программу вы можете на странице разработчика.

После установки запустите программу. На первой странице выберите File ProtocolSFTP, в поле Host Name (or IP address) укажите адрес сервера ssh.идентификатор.nichost.ru (в качестве примера используется идентификатор хостинга login). В качестве имени пользователя User name укажите идентификатор. В поле Password укажите пароль для доступа по SSH. Затем нажмите кнопку Login.

В появившемся диалоговом окне с предупреждением нажмите кнопку Yes. После этого откроется рабочий интерфейс программы.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector