туннель в MacOS SSH с использованием Netcat

332
MasterWizard

Я пытаюсь найти альтернативную команду для этого сценария туннеля Ubuntu SSH. К сожалению, на Mac нет ни одного, насколько я знаю и смотрел. Что может быть альтернативой для этой команды?

ssh -fN -L 2222:layout.uni.edu:22 user@transit.uni.edu  # Continuous chained tunnel between your laptop and rmworkstation while true do nc.traditional -p 2223 -c "ssh -p 2222 user@localhost nc rmworkstation 22" done 
1
Можете ли вы объяснить, что делает эта команда? Gordon Davisson 6 лет назад 0
Я думаю, что это делает переадресацию портов в туннель SSH. Я действительно не уверен, так как человек, который сделал этот сценарий, недоступен ... MasterWizard 6 лет назад 0

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

0
Gordon Davisson

Я не уверен, что правильно понимаю, но вы могли бы получить тот же эффект с чем-то вроде:

ssh -J user@transit.uni.edu -L 2223:rmworkstation:22 user@layout.uni.edu 

Что он делает: от ssh до transition.uni.edu, затем туннелируем другое соединение ssh через это к layout.uni.edu и открываем TCP-туннель через это от localhost: 2223 до rmworkstation: 22.

Опция ProxyJump ( -J) была введена в OpenSSH v7.3, поэтому, если у вас ее нет ни на клиентском mac, ни на tran.uni.edu, вам потребуется сделать более ручную версию, например:

ssh -oProxyCommand="ssh -W %h:%p user@transit.uni.edu" -L 2223:rmworkstation:22 user@layout.uni.edu