O encaminhamento SSH funciona no local, mas falha no remoto

O encaminhamento SSH funciona no local, mas falha no remoto

Fiz um encaminhamento local de porta SSH em uma máquina remota:

ssh -N -L 127.0.0.1:3388:127.0.0.1:22 localhost

funciona na própria máquina remota:

telnet localhost 3388

retorna

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4

No entanto, quando uso esse encaminhamento da máquina local:

telnet remote.ip 3388

Falha:

Trying remote.ip...
telnet: Unable to connect to remote host: Connection refused

Pode-se pensar que a porta 3388 da máquina remota está bloqueada pelo firewall ou algo da rede, então desliguei o encaminhamento SSH e testei um servidor http escutando na porta 3388 na máquina remota:

python3 -m http.server 3388

então eu me conecto a esta porta da minha máquina local:

telnet remote.ip 3388

O resultado dá

Trying remote.ip...
Connected to remote.ip.
Escape character is '^]'.
quit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>Error response</title>
    </head>
    <body>
        <h1>Error response</h1>
        <p>Error code: 400</p>
        <p>Message: Bad request syntax ('quit ').</p>
        <p>Error code explanation: HTTPStatus.BAD_REQUEST - Bad request syntax or unsupported method.</p>
    </body>
</html>
Connection closed by foreign host.

o que significa que a porta 3388 na máquina remota está acessível à minha máquina local. Então, por que tanto o encaminhamento SSH quanto a rede funcionam corretamente individualmente, mas falham quando são combinados? Alguém sabe como consertar isso? Obrigado.

Responder1

Você configurou o encaminhamento local SSH para que ele escute apenas na porta localhost 3388. O localhost não pode ser acessado de outros dispositivos na rede, e é por isso que você não conseguiu estabelecer uma conexão remotamente.

Para expor a porta de encaminhamento a outras máquinas na rede, você precisa vinculá-la a um endereço acessível como 192.168.1.5 ou 0.0.0.0 (todas as interfaces).

por exemplossh -N -L 0.0.0.0:3388:127.0.0.1:22 localhost

informação relacionada