Eu usei uma abordagem diferente para resolver esse problema. No começo eu consegui iniciar os túneis SSH dos clientes no momento da inicialização. Eu escrevi um script init.d para isso, fiz dele um serviço e deixei o fantoche lidar com isso.
No entanto, isso foi muito trabalhoso e decidi me virar e usar o NAT e o encaminhamento de porta pelo servidor gateway e sua configuração UFW. Mesmo que não seja uma resposta para o problema SSH em si, aqui está a solução que corrigiu o problema básico:
Em /etc/ufw/sysctl
ativado net/ipv4/ip_forward=1
e em sysctl -p
Em /etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0:0]
# forward traffic from eth1 through eth0
-A POSTROUTING -s 10.12.40.0/24 -o eth0 -j MASQUERADE
# some DNAT rules
-A PREROUTING -i eth0 -p tcp --dport 2214 -j DNAT --to-destination 10.12.40.14:22
-A PREROUTING -i eth0 -p tcp --dport 2215 -j DNAT --to-destination 10.12.40.15:22
#
COMMIT
e executou ufw disable && ufw enable
. Tudo o que era necessário era verificar o roteamento correto no cliente.
Diferente abordagem, queria resultado. Obrigado a todos por lerem e pensarem sobre o meu problema e @assassi : darei sua sugestão com o OpenVPN no momento em que eu tiver mais tempo e a necessidade de mais do que a porta SSH.