O que é ssh -L 123:farawayhost:456 remotehost?

O que é ssh -L 123:farawayhost:456 remotehost?

Veio desta pergunta:O que é encaminhamento de porta ssh e qual é a diferença entre encaminhamento de porta ssh local e remoto, estou confuso sobre este uso:

ssh -L 123:farawayhost:456 remotehost

ssh -L sourcePort:forwardToHost:onPort connectToHostsignifica: conectar-se com ssh para connectToHoste encaminhar todas as tentativas de conexão para olocal sourcePortpara a porta onPortna máquina chamada forwardToHost, que pode ser acessada a partir da connectToHost máquina.

O que significa "..., quepode ser alcançadoda connectToHostmáquina." significa exatamente?

Se bem entendi, ssh -L 123:localhost:456 remotehosté um caso específico para o comando acima, onde ambos farawayhoste remotehostestão na mesma máquina.

Então, quando farawayhostestá e remotehostnão está na mesma máquina, como funciona? Isso significa que preciso fazer login remotehostprimeiro e depois farawayhost?

Responder1

Não sei por que fiquei confuso no começo, talvez porque a resposta original não seja clara o suficiente, mas então percebi isso de repente.

Suponha que eu tenha 2 máquinas, cujos IPs públicos são 1.2.3.4e 2.3.4.5.

O uso seria: , solicitará uma nova linha, exigindo uma senha on .ssh -L 10283:1.2.3.4:8000 [email protected] -Nusername2.3.4.5

insira a descrição da imagem aqui

quando autenticado com sucesso, sshnão fará login porque -Nestá especificado, mas a conexão foi feita. Portanto, qualquer dado enviado paralocala porta 10283será enviada primeiro para 2.3.4.5via ssh(porta 22) e depois 2.3.4.5enviará os dados para 1.2.3.4a porta8000.

Agora, deixe-me criar um arquivo html echo hello > index.htmle executar um servidor http 1.2.3.4com python -m http.server.

E então digito localhost:10283no meu PC local.

Computador local:

insira a descrição da imagem aqui

Sobre 1.2.3.4:

insira a descrição da imagem aqui

informação relacionada