Estou respondendo a pergunta sozinho. O GatewayPorts precisava ser ligado.
sudo vi /etc/ssh/sshd_config
adicione GatewayPorts sim
sudo service ssh restart
Deixe-me explicar a configuração. Há três máquinas (1) meu laptop (2) meu PC atrás do NAT (3) meu aws instância com endereço público. Estou tentando acessar (2) a partir de (1).
Eu fiz isso:
pc$ ssh -R 2222:localhost:20 aws_user@aws_ip
Agora posso fazer o seguinte.
laptop$ ssh aws_user@aws_ip
aws$ ssh -p2222 pc_user@localhost
Isso é perfeito. No entanto, não posso ssh do meu laptop para o PC através da minha máquina bridge (aws). Assim.
laptop$ ssh -2531 pc_user@aws_ip
ssh: connect to host aws_ip port 2222: Connection refused
netstat -a derrama o seguinte:
tcp 0 0 localhost:2222 *:* LISTEN
tcp 0 0 localhost:48164 localhost:2222 ESTABLISHED
tcp 0 0 localhost:2222 localhost:48164 ESTABLISHED
tcp6 0 0 ip6-localhost:2222 [::]:* LISTEN
E todas as portas estão abertas na máquina aws. O seguinte falhou também.
ssh -R 2222:*:22
Estou respondendo a pergunta sozinho. O GatewayPorts precisava ser ligado.
sudo vi /etc/ssh/sshd_config
adicione GatewayPorts sim
sudo service ssh restart
Tags ssh networking