Isso não é possível. A comunicação entre você e o servidor ssh é totalmente criptografada, o iptables não tem como olhar dentro do pacote e, portanto, só pode corresponder com base no IP / port no lado do envio e do recebimento.
Eu configuraria portas diferentes na máquina acessível ao público e as encaminharia via iptables para as máquinas em segundo plano e faria algo parecido com isso na configuração do seu cliente ssh (~ / .ssh / config):
Host machineA
HostName your-public-machine
Port 12341
Host machineB
HostName your-public-machine
Port 12342
Host machineC
HostName your-public-machine
Port 12343
Com essa configuração, você pode executar apenas ssh machineA
, ssh machineB
ou ssh machineC
e acessar a máquina correta.