tl; dr? Use ssh -g … .
Eu assumo que o comando que você está usando é como
ssh -L 1234:server:5678 ssh_server
Isso escutará 127.0.0.1:1234 (IPv4) e [::1]:1234 (IPv6) no lado local. As conexões locais com qualquer um desses endereços alcançarão server:5678 do ssh_server . Outros computadores em sua rede local não podem alcançar o túnel porque 127.0.0.1 e [::1] são endereços de loopback; para qualquer máquina, elas significam a própria máquina.
Para disponibilizar seu túnel para outros computadores, vincule-o a um endereço que ele possa alcançar. Digamos que 192.168.0.14 seja um endereço válido do cliente que executa ssh ; ligar a ele:
ssh -L 192.168.0.14:1234:server:5678 ssh_server
ou para todos os endereços disponíveis (escolha um comando):
ssh -L 0.0.0.0:1234:server:5678 ssh_server # IPv4
ssh -L [::]:1234:server:5678 ssh_server # IPv6
ssh -L 0.0.0.0:1234:server:5678 -L [::]:1234:server:5678 ssh_server # IPv4 and IPv6
O último túnel "aberto" também pode ser criado com -g . De man 1 ssh :
-gAllows remote hosts to connect to local forwarded ports.
-g é equivalente a -o GatewayPorts=yes e a GatewayPorts yes configurada no arquivo ssh_config . Este trecho de man 5 ssh_config explica ainda melhor:
GatewayPorts
Specifies whether remote hosts are allowed to connect to local forwarded ports. By default,ssh(1)binds local port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify thatsshshould bind local port forwardings to the wildcard address, thus allowing remote hosts to connect to forwarded ports. The argument must beyesorno. The default isno.
Então:
ssh -g -L 1234:server:5678 ssh_server
Notas:
- Não se esqueça de abrir a porta escolhida no seu firewall.
- Você pode encontrar
autosshútil… - … juntamente com a opção
ExitOnForwardFailuredessh(explicada emman 5 ssh_config). - Em geral, um servidor HTTP pode rejeitar URLs que não considera como próprios. Você disse que
localhost:portfunciona no seu navegador. Caso URLs comohttp://192.168.0.14:1234não funcionem apesar do túnel, verifique a configuração do servidor.
Recursos adicionais: