Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Windows Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Добрый день!
Требуется установить подключение к MS SQL серверу через SSH туннель.

Установил на сервере, где крутится MS SQL, freeSSHd, настроил его, настроил роутер, что бы пропускал пакеты через 22 порт.

С помощью putty подключаюсь - работает.
Настраиваю в putty туннель – L1433 RemoteServerIP: 1433

Запускаю Microsoft SQL Management Studio и пытаюсь подключится к localhost(127.0.0.1) – в итоге Studio пытается подключиться к локальному SQL серверу а не удаленному.
Логгирую сессию в putty – там тишина – ни какого туннеля и в помине :(
Выключаю локальный SQL сервер – картина та же. Только если при влеченном локальном SQL сервер Studio выдает сообщение, что не правильное имя пользователя, то при выключенном, что не может подключиться…
Что я не так делаю?

Настройку Putty проводил на основании следующей статьи:
https://courses.cs.washington.edu/courses/cse444/11wi/resources/tunneling-instructions.html
29 окт 14, 12:14    [16772021]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Проблема скорее всего в том, что вы создаете локальный сокет 1433 на машине, на которой этот порт уже используется. Он не может создаться, потому что данный порт уже занят.

Укажите другой порт, например, так: L81433 RemoteServerIP: 1433
Тогда подключение из MS SQL MS будет выглядеть как к localhost:81433

Ну или выключайте локальный MS SQL до того как начнете putty использовать.
30 окт 14, 08:42    [16775987]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Ну и проверьте, что туннелирование на самом ssh-сервере включено. Allow remote port forwarding, по-моему.

К сообщению приложен файл. Размер - 17Kb
30 окт 14, 09:01    [16776048]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
k-nike
Спасибо за желание помочь.

С тех пор, как написал кое-что изменилось, но проблеме так и не решил :(

Я добавил расширенное логгирование в putty и попытался подключиться к SQL серверу по другому порту и вот что увидел:
Event Log: Local port 1433 forwarding to RemoteServer:1433 failed: Network error: Permission denied
Event Log: Local port 1434 forwarding to RemoteServer:1433 failed: Network error: Permission denied

Да, на роутере за которым сидит SQL сервер разрешено подключение только по 21 и 22 портам.
Я добавил в роутере правило внешний порт 3120 — соответствует внутреннему порту 1433 (порт SQL сервера).

Добавил в putty туннель L1433 – RemoteServer:3120
Запустил putty, настроил в нем параметры proxy, проверил, что я могу подключаться к удаленному серверу. Работает.

Запустил Microsoft SQL Management Studio попытавшись подключиться к localhost – ошибка: «The server was not found or was not accesable»
Лог putty:
Event Log: Access granted
Event Log: Opening session as main channel
Event Log: Local port 1433 forwarding to RemoteIP:3120 failed: Network error: Permission denied

Может это мешает корпоративный фаэрвол (который открыт только для http и https), но ведь подключиться putty к терминальной сессии я могу.
Вечером я попытался подключится к SQL серверу из дома (без фаэрвола) – тоже ошибка подключения. :(

P.S. Не совсем понимаю зачем в freeSSHd закладка Tuneling без возможности настройки маппинга??

P.S.S. Читаю http://support.microsoft.com/kb/287932/ru (Номера порта TCP/IP, необходимые для связи с сервером SQL через брандмауэр)
И что-то не хорошее чувство возникает от фразы:
"Когда клиент устанавливает соединение по протоколу TCP/IP, происходит трехстороннее подтверждение. Клиент открывает порт источника и отправляет трафик к порту назначения, номер которого по умолчанию — 1433. Номер используемого клиентского порта источника произволен, но не может быть меньше 1024. По умолчанию, когда приложение запрашивает сокет у системы для исходящего звонка, предоставляется номер порта, значение которого — от 1024 до 5000…..
Чтобы настроить брандмауэр, разрешите отправку трафика с *ЛЮБОГО* порта на порт 1433 и обратно (*ЛЮБОЙ* порт — это порт с номером больше, чем 1024)"

Может в этом проблема? Но как это обойти? Что-то не пойму куда двигаться :(

P.S.S.S. Корпоративный фаэрвол мне де доступен для управления, а роутер перед SQL Сервером – доступен.
30 окт 14, 12:14    [16776446]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
У вас полная каша в голове. Я вообще не понял вашего последнего комментария.
Давайте так:
Есть 2 хоста:
M1 - на котором стоит MSSQL и к которому вы хотите подключиться. MSSQL слушает порт 1433.
M2 - компьютер с которого вы хотите подключиться к MSSQL с помощью Management Studio.

1. Устанавливаем на M1 freeSSHd. Ставим нужную галку, на которую я уже указывал. Разрешаем подключаться к этому хосту по SSH. Всё. Этого достаточно.

2. На M2 c помощью putty подключаемся к M1 предварительно настроив туннелирование L81433 127.0.0.1:1433. Оставляем висящей подключенную сессию.

3. На M2 проверяем что локально слушается порт 81433. В выводе команды netstat -an должнО быть что-то типа того:
TCP 127.0.0.1:81433 0.0.0.0:0 LISTENING

4. На M2 запускаем Management Studio и в качестве хоста указываем 127.0.0.1:81433.
31 окт 14, 12:08    [16782244]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Видимо я плохо объясняю:

M1 – Внутри небольшой сети, "защищенной" DLink 615. В Настройках DLink разрешен вход из вне только по 21, 22 и 3120 порту.
M2 – находится за proxy.

Запуская Putty из M2 я успешно подключаюсь к M1 и могу выполнять команды из терминальной сессии.
Не закрывая Putty запускаю Management Studio и в качестве хоста указываю 127.0.0.1:1433. - Ошибка подключения

Лог Putty:
Event Log: Looking up host M1
Event Log: Connecting to proxy
...........
Event Log: Initialised AES-256 CBC client->server encryption
Event Log: Initialised HMAC-SHA1 client->server MAC algorithm
...........
Event Log: Sent password
...........
Event Log: Access granted
Event Log: Opening session as main channel
Event Log: Opened main channel
Event Log: Local port 1433 forwarding to M1:3120 failed: Network error: Permission denied

К сообщению приложен файл. Размер - 45Kb
31 окт 14, 14:01    [16783331]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Забыл указать - рисунок - настройки DLink 615
31 окт 14, 14:06    [16783376]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Lisichkin
M2 – находится за proxy.

1. Что вы называете proxy?
2. Пробовали сделать по моей инструкции выше?
31 окт 14, 14:10    [16783414]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Только про 81433 я фигню написал, такого порта не может быть.
Исправьте, например, на 2433.
31 окт 14, 14:13    [16783442]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
автор
1. Что вы называете proxy?

Proxy - Squid proxy - корпоративный фаэрволл закрывающий M2 от внешнего мира :\
(В Putty я ввел настройки proxy и меня через него выпускают наружу...)

автор
2. Пробовали сделать по моей инструкции выше?

Да - результат тот же:
Event Log: Sent password
Event Log: Access granted
Event Log: Opening session as main channel
Event Log: Opened main channel
Event Log: Local port 1433 forwarding to 127.0.0.1:1433 failed: Network error: Permission denied
31 окт 14, 14:28    [16783568]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Через прокси не известно заработает ли эта конструкция вообще.

"Event Log: Local port 1433 forwarding to 127.0.0.1:1433 failed: Network error: Permission denied"

Почему Local port 1433?
31 окт 14, 14:35    [16783637]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
автор
Почему Local port 1433?

Microsoft SQL Management Studio по умолчанию подключается к серверу через 1433 порт

Я в putty создаю port forwarding: L1433 M1:3120
Я предполагаю что запрос на подключения Management Studio к localhost(L) по порту 1433 перенаправитя в M1:3120.
Перед M1 DLink перенаправит запрос M1:3120 в M1(Sql Server):1433

(На самом деле ip M1 не виден из интернета, виден ip только DLink'а)

Но где-то происходит ошибка. Что еще более подозрительно я пытаюсь осуществить подключение к M1 из дома (без proxy и ограничении по портам) - то же не получается....

При чем подключение к MySQL через SSH туннелинг (из дома) к совсем другому серверу работало.
31 окт 14, 14:50    [16783792]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Lisichkin,

Опять у вас все перепутано. Если SQL Server и freeSSHd находятся на одном сервере за роутером Dlink, тогда встает вопрос как они из локальной сети этого роутера подключатся к WAN-порту роутера? Что-то вы опять не договариваете!!! Делаете по моей инструкции. И желательно без прокси, ибо с ним скорее всего ничего не заработает.

А еще лучше рисуйте схему. Ибо мы уже столько переписываемся, но до сих пор всплывают новые детали. Имейте совесть. Если вы хотите чтобы вам помогли, будьте добры полностью описать изначальные данные.
31 окт 14, 15:05    [16783941]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Рисунок

К сообщению приложен файл. Размер - 22Kb
31 окт 14, 15:10    [16783973]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Прошу извинения, если я что-то не так объясняю. Я не сис.админ - я программист SQL :(

SQL Server и freeSSHd находятся на одном сервере за роутером Dlink - Да.Да..!

Какие еще подробности, я упустил и Вам не понятно?
31 окт 14, 15:14    [16784005]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
P.S. Направление подключения от Management Studio к MS SQL Server
31 окт 14, 15:15    [16784021]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Делайте по моей инструкции проверяя каждый шаг.
Должно все работать за исключением возможных проблем с прокси.
31 окт 14, 15:18    [16784044]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
1. В freeSSHd разрешить local port forwarding, remote port forwarding или и то и другое?

2. Вместо 81433(2433) порта могу я испопользовать 3120 порт? (Просто он уже настроен на DLink)
31 окт 14, 15:28    [16784132]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Lisichkin
1. В freeSSHd разрешить local port forwarding, remote port forwarding или и то и другое?

Можно оба.
Lisichkin
2. Вместо 81433(2433) порта могу я испопользовать 3120 порт? (Просто он уже настроен на DLink)

Можете, если он никем не слушается, но Dlink здесь ни причем, вы уже на M2!
31 окт 14, 15:59    [16784491]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Что-то я запутался.
автор
Можете, если он никем не слушается, но Dlink здесь ни причем, вы уже на M2!

Т.е. Вы хотите сказать что SQL Management Studio заходит на M2 через 22 порт?

Кто в таком случае превратит 81433/2433/3120 порт в 1433?
Получается на M2 нужно создать правило слушать порт 3120 и перенаправлять данные в 1433?
Или я что-то не понимаю?
31 окт 14, 16:07    [16784568]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Lisichkin
Что-то я запутался.?
Т.е. Вы хотите сказать что SQL Management Studio заходит на M2 через 22 порт?

Да.
Lisichkin
Кто в таком случае превратит 81433/2433/3120 порт в 1433?

SSH
Lisichkin
Получается на M2 нужно создать правило слушать порт 3120 и перенаправлять данные в 1433?
Или я что-то не понимаю?

Нет. Вы что-то не понимаете.
31 окт 14, 17:05    [16785088]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Я пока не могу удаленно зайти на компьютер где установлен freeSSHd server (и MS SQL server) и проставить галочки port forwarding.
Как компьютер освободится, так выполню все по Вашей инструкции и отпишусь о результате.

Большое спасибо за помощь!
31 окт 14, 17:19    [16785188]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
Урра!!! Заработало!

Большое спасибо k-nike !!!!!!!

Добавил в putty туннель – L3120 127.0.0.1: 1433
Microsoft SQL Management Studio подключаю к 127.0.0.1,3120

Мне теперь не нужно ждать пока освободится удаленный компьютер, что бы исправить процедуры на SQL сервере.
Еще раз большое спасибо!
31 окт 14, 17:46    [16785350]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
Lisichkin
Member

Откуда:
Сообщений: 474
P.S. Мне теперь для большей безопасности сертификат нужно сгенерировать и перенести его часть на M2 (там где SQL Management Studio) ?
31 окт 14, 17:48    [16785366]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL серверу через SSH туннель  [new]
k-nike
Member

Откуда: Левый берег
Сообщений: 2333
Lisichkin,

1. Через прокси заработало или напрямую?
2. Если вы имеете ввиду авторизацию по публичным ключам, я в этом не спец. Там по-моему, да, для безопасности можно настроить 2-х факторную аутентификацию чтоб и ключ и логин/пароль спрашивало.
31 окт 14, 18:27    [16785575]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Windows Ответить