Как создать туннельную цепочку ssh в одной команде?

У нас есть serverA для соединения с. Затем мы используем serverA для соединения с databaseB. Установка как это в Шпаклевке (окна):

Session1:
1. соединитесь с admin@serverA
2. установите туннель локальный порт 10022 к databaseB:22
3. выполненный 'vi'

Session2:
1. соединитесь с admin@localhost:10022
2. установите туннель локальный порт 1521 к базе данных 1521
3. выполненный 'vi'

(vi используется для проведения сессии),

Затем программа использует localhost:1521 для соединения с базой данных.

Интересно, могу ли я сделать это в единственной команде или пакетный файл в cygwin? Обратите внимание, что я не могу открытый порт на serverA

7
задан 04.03.2011, 12:50

2 ответа

ssh -L 1521:127.0.0.1:61521 admin@serverA ssh -L 61521:127.0.0.1:1521 admin@databaseB

или использование звона (Ссылка шпаклевки) из командного окна:

plink -ssh -L 1521:127.0.0.1:61521 admin@serverA ssh -L 61521:127.0.0.1:1521 admin@databaseB
8
ответ дан 07.12.2019, 14:37

Я попытался бы работать:

ssh admin@serverA -L 10022:databaseB:22
ssh admin@localhost -p 10022 -L 1521:database2:1521

Но человек, я съеживаюсь, даже предлагая это. Люди, которых firewalled от DatabaseB, вероятно, имел серьезное основание для того, чтобы сделать так. Разговор с ними.

1
ответ дан 07.12.2019, 14:37

Теги

Похожие вопросы