Depende do que você está tentando encaminhar via SSH. AKA o que você está tentando fazer.
A sintaxe -L lport:host:hport
faz com que, se você se conectar a lport
em seu host inicial, conecte-se a hport
no host.
Então diga que você está em hostA
. e você deseja obter o http (porta 80) em hostD
que não pode ser acessado, exceto por hostC
, que só pode ser acessado por hostB
e que pode ser acessado pelo seu início em hostA
.
Você pode executar (de hostA
):
ssh -L 8080:localhost:8081 hostB
em seguida, nesse hostB
login run:
ssh -L 8081:localhost:8082 hostC
em seguida, nesse hostC
login run:
ssh -L 8082:localhost:80 hostD
Você pode então (em hostA
) acessar localhost:8080
e se conectar à porta 80 de hostD
.
Nota: você pode usar o mesmo 8080 em todos, já que você está usando essa porta apenas uma vez por máquina. Eu apenas aumentava os números de porta em cada conexão para melhor mostrar as correlações entre as portas.
A outra coisa a ter em mente é que o host (entre os dois: 's) está no contexto da máquina em que você está se dedicando. por isso, se hostC
tivesse acesso direto à porta 80 de hostD
, você poderia ter feito o seguinte:
Você pode executar (de hostA
):
ssh -L 8080:localhost:8081 hostB
em seguida, nesse hostB
login run:
ssh -L 8081:hostD:80 hostC