Как туннелировать трафик с localhost: port1 на remotehost2: port3 через промежуточный хост remotehost3, к которому можно получить доступ только через SSH?

227
Whimusical

Я хотел бы выполнить туннель на моем локальном хосте, чтобы весь трафик на хосте заканчивался на удаленном хосте через промежуточный узел, к которому может обращаться только ssh

LOCALHOST ________ MIDDLEHOST_______________ REMOTEHOST portX port 22 portX |  | $> tunnel creation  I have credentials to MIDDLEHOST machine 
0
Мне немного непонятно, что именно туннелируется, куда. Является ли соединение между промежуточным и удаленным узлами соединением SSH (например, между локальным и промежуточным узлом) или собственным (не туннелированным) TCP-соединением? Кроме того, что вы подразумеваете под "весь трафик на хосте"? Gordon Davisson 6 лет назад 0

1 ответ на вопрос

1
Wouter Verhelst

Отредактируйте ~/.ssh/configи добавьте строфу, например:

Host destinationhost ProxyJump middlehost 

Теперь всякий раз, когда вы печатаете ssh destinationhost, ssh открывает ssh-соединение middlehost, создает через него туннель, а затем открывает второе ssh-соединение через этот туннель destinationhost. Любой порт, который вы переадресовали через -Lили -Rкаким-либо другим образом, будет применяться ко второму соединению, а не к первому.

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