AndrewAS
Март 8, 2016 03:06:36
Всем привет.
Есть mysql БД, что бы к ней подключиться нужно зайти по ssh на сервер и уже на нем подключиться к mysql.
Все работает если запускать скрипт на сервере, но мне нужно что бы я с локальной машины мог подключиться к БД.
Можно ли как то подключиться из скрипта по ssh, а после к БД ?
Есть модуль paramiko, но я не совсем понял как он работает.
PooH
Март 8, 2016 07:17:30
Если мускул слушает на локальном tcp порту, то просто прокинте его через ssh-туннель на локальную машину.
ssh -fNL <LOCAL_PORT>:localhost:3306 <REMOTE_USER>@<REMOTE_HOST>
значения в <> поменяйте на свои.
AndrewAS
Март 8, 2016 12:55:18
Из скрипта это можно как то сделать, через какие модули?
PooH
Март 8, 2016 18:10:33
Можно через os.command или subprocess выполнить. Можно ваш скрипт обернуть еще одним на баше. Можно через paramiko
сделать но я сам не пробовал, я вообще стараюсь использовать самый простой возможный вариант. Вот еще народ
сахарку добавил.
ZerG
Март 9, 2016 10:12:51
Я все же рекомендую получить нормальный доступ к БД.
Иначе вылезет оно боком потом и при чем конкретным.
PooH
Март 9, 2016 11:54:45
ZerG
Я все же рекомендую получить нормальный доступ к БД.
Иначе вылезет оно боком потом и при чем конкретным.
Чем проброс порта в тунеле ненормален и чем оно может вылезти? Стандартная практика, уж всяко лучше чем порт БД наружу светить.
FishHook
Март 9, 2016 12:03:25
Как-то всё это противоестественно, может лучше vpn поднять и работать без костылей?
ZerG
Март 9, 2016 12:18:29
Использование БД через тунель по SSH допустимо только в разрезе разработки проекта.. и то.. я бы не стал.
PooH
Март 9, 2016 13:09:44
Во-первых, сдается мне топикстартеру не нужно постоянное соединение с базой, просто периодически выполняемая задача. А во-вторых просветите уже меня, что не так с тоннелем, а то так и умру темным.
ZerG
Март 9, 2016 16:43:43
Что бы не умереть темным надо полоскать горло светлым…
В разрезе юзания тунеля ссш для девелопа - ради бога.
На продакшине - такое могу делать тока ПХП коидеры.