Это зависит от того, что вы пытаетесь переслать через SSH. Ака, что вы пытаетесь сделать.
-L lport:host:hport делает так, что если вы подключаетесь к lport на вашем начальном хосте, вы подключаетесь к hport на хосте.
Так скажи, что ты на hostA . и вы хотите получить доступ к http (порт 80) на hostD который недоступен, кроме hostC который доступен только для hostB и который доступен для вашего начального hostA .
Вы можете запустить (из hostA):
ssh -L 8080: локальный хост: 8081 hostB
затем на этом hostB запустите:
ssh -L 8081: локальный хост: 8082 hostC
затем на этом hostC запустите:
ssh -L 8082:localhost:80 hostD
Затем вы можете (на hostA) получить доступ к localhost:8080 и подключиться к порту 80 hostD .
Примечание: вы можете использовать один и тот же 8080 на всех, так как этот порт используется только один раз для каждой машины. Я просто увеличил номера портов каждого соединения, чтобы лучше показать корреляции между портами.
Еще одна вещь, которую нужно иметь в виду, это то, что хост (между двумя: s) находится в контексте машины, на которую вы работаете. поэтому, если hostC имеет прямой доступ к порту 80 hostD , вы могли бы вместо этого сделать следующее:
Вы можете запустить (из hostA):
ssh -L 8080: локальный хост: 8081 hostB
затем на этом hostB запустите:
ssh -L 8081:hostD:80 hostC