Você pode investigar seus túneis em cada sistema até certo ponto executando netstat
para revisar as portas abertas.
Por exemplo, configurei um túnel reverso para testar:
user@computer1:~ $ ssh -nNT -R 12345:localhost:22 computer2
Então sondar as portas no computador2. O flag -l lista apenas as portas de escuta, o sinalizador -t mostrará apenas as portas tcp (como ssh).
user@computer2:~ $ netstat -l -t
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:12345 0.0.0.0:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:12345 [::]:* LISTEN
A partir daqui, é evidente o que há de errado com o túnel reverso: ele está apenas ouvindo o host local (isto é, a interface de loopback). Se estivesse escutando em todas as interfaces, eu deveria ver 0.0.0.0:12345
para ipv4 e [::]:12345
para ipv6.
Quando você executa ssh -p 111 work-comp
de work-comp, ele aceita a conexão do localhost, mas quando você executa o mesmo comando de uma máquina externa, o work-comp não está realmente atendendo conexões de 'alguma máquina' naquela porta .
Você poderia criar outro túnel de 'alguma máquina' para a porta correta de 'trabalho-comp' ou usar o ProxyCommand para se conectar ao 'laptop' por meio de 'work-comp'.