Объявление

Collapse
No announcement yet.

Putty SSH tunneling - как установить тунель к SQL серверу

Collapse
X
 
  • Filter
  • Время
  • Show
Clear All
new posts

  • Putty SSH tunneling - как установить тунель к SQL серверу

    Можт кто сталкивался.
    Named instance, сидит на статическом порту, порт открыт в firewall. На моем рабочем компе устанавливаю два тунеля в Putty - один для Remote Desktop Connection к серверу базы данных, другой для соединения к SQL серверу через локальную Management Studio. Запускаю сессию в Putty. Через netstat вижу оба локальных порта LISTENING. Remote Desktop Connection работает без проблем, устанавливаю соединение к localhost: xxxx, где xxxx - номер локального порта в первом тунеле. А соединение к instance не работает ни через Management Studio ни через sqlcmd. Почему? Может не то пишу в названии instance. Если yyyy - номер локального порта второго тунеля, то что указывать в названии instance? Localhost,yyyy? Я уже какие только варианты не пробовала, ничего не получается
    Красота - это страшная сила. И чем дальше, тем страшнее.

  • #2
    В putty в разделе SSH тунелли ставите source порт xxxx (локальный порт вашего компа) - это тот порт, по которому можно будет соединяться как localhostxxx/.... на вашем компе. Этот порт может быть произвольным, но лучше использовать выше 3000. Открывать для него firewall совсем не нужно.

    В destination пишете sql_server_address:yyyy - как адрес компа и порт, достижимые с того компа ,к которому подсоединяетесь в сессии путти. Опять же, firewall тут не нужен, (разве что на ssh порт 22) Порт yyyy - это порт протокола, по которому комп, к которому вы подсоединились с вашего компа через ssh (putty) будет общаться с точкой назначения, т.е. порт sql сервера.
    При этом туннель должен быть local (галочка в путти) - т.е. вы инициируете соединение и работаете по нему.

    Если в ответ удаленная машина создает новое соединение с вами, то делается второй туннель, так что sql сервак соединяется с компом, к котому вы подключены, а тот комп по туннелю пересылает на вашу локальную машину результат. В этом случае туннель будет - remote. (Там source и destination меняются ролями)


    Попробуйте в putty также выставить галочки: любая машина может использовать ваши локальные порты, созданные putty и удаленный хост делает тоже самое.
    Last edited by xelaz; 15.11.2011, 23:39.
    git blame

    Comment


    • #3
      xelas, спасибо за ответ, но к сожалению пока не могу применить ваши рекоммендации. Пока что одна проблема выяснилась: network firewall блокирует порт SQL сервера. Дело в том что тунель идет через jumphost в другом сабнете на сервер базы данных, и в том сабнете порт который я использую для named instance заблокирован. Т.е. если с jumphost попробовать telnet на сервер с тем портом то он не работает. Вобщем пока не удастся договориться с сетевиками об открытии порта мои попытки установить тунель с моего компа тщетны, придется каждый раз использовать remote desktop connection чтобы работать с базами данных
      Last edited by Nadejda; 17.11.2011, 08:33.
      Красота - это страшная сила. И чем дальше, тем страшнее.

      Comment


      • #4
        К сожалению, не совсем знаком с SQL серверами, но погуглив отыскал майкрософтовскую заметку, как соединяться через firewall
        TCP/IP port numbers required to communicate to SQL over a firewall
        Посмотрите, может пригодится
        git blame

        Comment


        • #5
          Сообщение от Nadejda Посмотреть сообщение
          xelas, спасибо за ответ, но к сожалению пока не могу применить ваши рекоммендации. Пока что одна проблема выяснилась: network firewall блокирует порт SQL сервера. Дело в том что тунель идет через jumphost в другом сабнете на сервер базы данных, и в том сабнете порт который я использую для named instance заблокирован. Т.е. если с jumphost попробовать telnet на сервер с тем портом то он не работает. Вобщем пока не удастся договориться с сетевиками об открытии порта мои попытки установить тунель с моего компа тщетны, придется каждый раз использовать remote desktop connection чтобы работать с базами данных
          Есть вот такая софтина.

          https://secure.logmein.com/products/...i/default.aspx

          http://en.wikipedia.org/wiki/Hamachi_(software)

          Именно для подобных проблем.
          If you dont like it, leave.

          Comment


          • #6
            Сообщение от Vlad I. Посмотреть сообщение
            Есть вот такая софтина.

            https://secure.logmein.com/products/...i/default.aspx

            http://en.wikipedia.org/wiki/Hamachi_(software)

            Именно для подобных проблем.
            Это было "мудро"

            Инструкций



            В постскриптуме:

            Comment


            • #7
              Guys, Remote Desktop Connection у меня и так работало, туннель шел через другой порт.
              Вобщем, проблема решилась как только сетевики открыли порт SQL сервера в network firewall. Теперь без проблем могу соединяться с базами данных с моего локального клиента. В Putty установила тунель с локального порта через jumphost на порт SQL сервера, т.е виде Lxxxxx aaa.bbb.ccc.dddxxxx
              В клиенте указываю имя SQL сервера в виде localhost,xxxxx
              Last edited by Nadejda; 18.11.2011, 08:51.
              Красота - это страшная сила. И чем дальше, тем страшнее.

              Comment


              • #8
                Сообщение от Nadejda Посмотреть сообщение
                Guys, Remote Desktop Connection у меня и так работало, туннель шел через другой порт.
                Вобщем, проблема решилась как только сетевики открыли порт SQL сервера в network firewall. Теперь без проблем могу соединяться с базами данных с моего локального клиента. В Putty установила тунель с локального порта через jumphost на порт SQL сервера, т.е виде Lxxxxx aaa.bbb.ccc.dddxxxx
                В клиенте указываю имя SQL сервера в виде localhost,xxxxx
                А зачем такие трудности с тунелем через Putty?

                Comment


                • #9
                  Сообщение от rus92 Посмотреть сообщение
                  А зачем такие трудности с тунелем через Putty?
                  А как еще? Разные subnets, домены не trusted, чтобы соединиться к серверу надо вначале залогиниться на jumphost (который на Unix). Ну, может есть еще другие программки которые открывают тунель SSH, просто у нас на работе Putty используется. А вы как эту проблему решаете? Чтобы напрямую со своей Management Studio открыть соединение к SQL-евской базе данных которая где то там на недоступном сервере - то как без тунеля?
                  Красота - это страшная сила. И чем дальше, тем страшнее.

                  Comment


                  • #10
                    Сообщение от Nadejda Посмотреть сообщение
                    Guys, Remote Desktop Connection у меня и так работало, туннель шел через другой порт.
                    Ну как бе я наблюдаю сабж с самого начала и пост про удалённое подключение к рабочему столу был посвящён исключительно - "Vlad I."

                    По сабжу, были мысли про firewall но не считал что Вы там могли так ошибиться (на самом сервере) что бы пройти мимо. Поэтому и не заикался.
                    Про network firewall не подумал. (чешу затылок). Ибо вожусь последнее время с мелочью всякой.

                    Comment


                    • #11
                      Сообщение от Eldar Посмотреть сообщение
                      Ну как бе я наблюдаю сабж с самого начала и пост про удалённое подключение к рабочему столу был посвящён исключительно - "Vlad I."
                      .
                      Только я не понял что ты хотел этим сказать?

                      Я понимаю ссылку ты не читал.

                      Про remote desktop и как он работает я более менее имею предаствление.

                      Но бывают ситуации когда как у топикстартера есть сервис который должен ходить на удалённый компьютер, но по какой то причине не проходит (файрвол там, НАТ или ещё чего). И когда пользоваться ремот десктопом несподручно.

                      Тогда ставят такое.

                      Hamachi is a zero-configuration virtual private network (VPN) shareware application that is capable of establishing direct links between computers that are behind NAT firewalls without requiring reconfiguration (when the user's PC can be accessed directly without relays from the Internet/WAN side ); in other words, it establishes a connection over the Internet that emulates the connection that would exist if the computers were connected over a local area network.

                      Я конечно не специалист, но человек написавший и потом продавший этот софт является моим очень близким знакомым и все это в общем происходило на моих глазах и при моём участие в виде тестера.
                      If you dont like it, leave.

                      Comment


                      • #12
                        Сообщение от Vlad I. Посмотреть сообщение
                        Только я не понял что ты хотел этим сказать?

                        Я понимаю ссылку ты не читал.

                        http://technet.microsoft.com/en-au/security/dd797575

                        Comment


                        • #13
                          Whatever. Нечего сказать - промолчи.
                          If you dont like it, leave.

                          Comment


                          • #14
                            нужно при установки ssh соединения указать, что будет port forwarding : connection/ssh/tunnels в качестве удаленного указать тот порт, на котором слушает SQL server, в качестве локального можно его же. Потом коннектитесь клиентом в localhost, ssh все пробрасывает к серверу.

                            Comment

                            Working...
                            X