A configuração em sshd_config para permitir o tunelamento é AllowTcpForwarding
. Lembre-se de reiniciar o sshd para que funcione.
Tenho problemas para ativar o encaminhamento de porta remota SSH publicamente.
No lado do cliente:
ssh -vvv -nNT -p 2222 -R \*:8882:localhost:22 xx@<server_address>
Saída:
...
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
Authenticated to xxx.com ([xxx.xxx.xxx.xxx]:2222).
debug1: Remote connections from *:8882 forwarded to local address localhost:22
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x10
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: remote forward success for: listen *:8882, connect localhost:22
debug1: All remote forwarding requests processed
No lado do servidor: (o qual conseguiu o GatewayPorts, confirmado com sshd -T
)
netstat -an | grep 8882
Saída:
tcp 0 0 0.0.0.0:8882 0.0.0.0:* LISTEN
tcp6 0 0 :::8882 :::* LISTEN
Ao conectar-se ao host local ( ssh -p 8882 xx@localhost
), ele funciona e eu posso fazer o login no shell SSH do cliente. No entanto, ssh
apenas trava e não faz nada se eu alterar localhost
para meu ip local, ou mesmo 127.0.0.1
, também não há saída de depuração no lado do cliente também.
Como visto na saída netstat
, parece que a porta 8882
está vinculada a todas as interfaces e deve funcionar publicamente, mas não funciona. O que eu fiz de errado?
A configuração em sshd_config para permitir o tunelamento é AllowTcpForwarding
. Lembre-se de reiniciar o sshd para que funcione.
Tags sshd linux ssh-tunnel