Как я могу подключиться к Oracle Database 11G Server через SSH туннельная цепь (двойной туннель, сервер в сети компании)?
-
01-10-2019 - |
Вопрос
У меня есть доступ к SSH для «Public» Server, который также является шлюзом к сети компании. В сети есть другой сервер, где местный Запускается сервер Oracle Database (нет доступа снаружи этого сервера, принимаются только соединения Localhost DB). И, конечно же, у меня есть еще один SSH-доступ к этому серверу.
Есть ли способ присоединиться к этому серверу Oracle Database 11G из-за пределов сети? Я спрашиваю, есть ли что-то вроде цепи в туннельной сети SSH и как я его настрою. Это может быть полезно, например, для жабы для Oracle (Oracle Client).
РЕДАКТИРОВАТЬ: Вот изображение
Спасибо
Решение
Да, это возможно. Например, на Linux, запустите
ssh -N -Llocalport:dbserver:dbport yourname@connectionserver
куда
- Localport - это порт на вашей машине, который будет перенаправлен (может быть 1521, если нет локального экземпляра oracle Running)
- DBServer - это имя или IP сервера базы данных
- DBPort - это порт базы данных (обычно 1521)
- Youname - это вход в систему на подключении
- Connectionserver - это машина, где у вас есть SSH-доступ
То же самое можно сделать в Windows, используя PLUNC (которая поставляется с замазкой):
plink -N -L localport:dbserver:dbport yourname@connectionserver
Сделайте это на обеих машинах (ваша локальная машина и сервер, к которому у вас есть доступ) для цепи SSH Tunnels. Пример:
Сервер подключения (при условии Linux):
ssh -N -L1521:dbserver:1521 dblogin@dbserver
Ваш компьютер:
plink -N -L 1521:connectionserver:1521 connlogin@connectionserver
Запись TNSNAMES.ORA должна выглядеть так, как будто вы используете локальную базу данных, например
prodoverssh =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)
Другие советы
Спасибо!
я звонил ssh -N -LXXXX:server:YYYY login@server
дважды.
Во-первых, я позвонил
ssh -L 9998:127.0.0.1:9997 login@gate.company.cz
на моем компьютере.
Затем на этом сервере (во время сеанса SSH) я позвонил
ssh -L 9997:localhost:1521 root@192.168.105.111
Где 192.168.105.111 - это сервер, где работает Oracle.
Так что я сделал следующее перенаправление:
1521 (COMPANY ORACLE SERVER)
-> 9997 (COMPANY GATEWAY SERVER)
-> 9998 (LOCAL PC)
Поэтому я получил доступ Oracle в моем местном ПК в порту 9998!
Вы можете добавить также -f
Опция, которая запускает команду ssh на заднем плане.