Soft: SSH-тунель с помощью PuTTY
Порой надо с локального компьютера получить доступ к сервисам, которые находятся на удаленном сервере и доступны только для использования внутри этого сервера. Например у вас установлен Eclipse с пакетом DBViewer для работы с mysql, но mysql доступен только внутри удаленного сервера и извне просто так к нему доступ не получить.
Но если у вас есть SSH-доступ к этому серверу, тогда есть простое решение - это SSH-тунель.
На примере mysql я расскажу вам как построить такой тунель.
В первую очередь, если вы этого еще не сделали, скачиваем PuTTY.
Запускаем PuTTY.
Переходим в меню: Connection ⇒ SSH ⇒Tunnels
В поле "Source port" указываем любой свободный порт, например 3306
В поле "Destination" прописываем удаленный хост (IP или домен) и порт, на котором находится нужный сервис
После чего нажимаем кнопку "Add"
После выполненных действий в "Forwaded ports" появится запись: L<локальный порт> <хост:порт>
Теперь переходим в меню "Session" и в поле "Host Name (or IP address)" прописываем адрес вашего сервера, к которому будем присоединяться.
После этого нажмите кнопку "Open".
Откроется консоль, в окне которой введите свой Login и Пароль для этого удаленного сервера.
После удачного входа на сервер вы теперь имеете локальный порт, через который можете общаться с mysql с удаленного сервера.
В данном случае: 127.0.0.1:3306
Ниже приведен скриншот из Eclipse:
Но если у вас есть SSH-доступ к этому серверу, тогда есть простое решение - это SSH-тунель.
На примере mysql я расскажу вам как построить такой тунель.
В первую очередь, если вы этого еще не сделали, скачиваем PuTTY.
Запускаем PuTTY.
Переходим в меню: Connection ⇒ SSH ⇒Tunnels
В поле "Source port" указываем любой свободный порт, например 3306
В поле "Destination" прописываем удаленный хост (IP или домен) и порт, на котором находится нужный сервис
После чего нажимаем кнопку "Add"
Если вы хотите, что бы этим туннелем воспользовался кто-то из сети, то поставьте галку на "Local ports accept connections from other hosts"
Теперь, если некто запросит ваш IP-адрес с указанием "Source port", то его перебросит через ваш компьютер прямиком на удаленный хост
Теперь, если некто запросит ваш IP-адрес с указанием "Source port", то его перебросит через ваш компьютер прямиком на удаленный хост
После выполненных действий в "Forwaded ports" появится запись: L<локальный порт> <хост:порт>
Теперь переходим в меню "Session" и в поле "Host Name (or IP address)" прописываем адрес вашего сервера, к которому будем присоединяться.
Что бы сохранить все настройки, то в поле "Saved Sessions" впишите какое-нибудь название и нажмите кнопку "Save" и только потом выполняйте дальнейшие действия
После этого нажмите кнопку "Open".
Откроется консоль, в окне которой введите свой Login и Пароль для этого удаленного сервера.
После удачного входа на сервер вы теперь имеете локальный порт, через который можете общаться с mysql с удаленного сервера.
В данном случае: 127.0.0.1:3306
Ниже приведен скриншот из Eclipse:
Помните: как только вы выйдите из удаленного сервера (выполните logout или закроете PuTTY), то тунель исчезнет!