Você não permitiu conexões estabelecidas do tipo que você já está usando na conexão. É por isso que quando você adiciona a última linha, a conexão é quebrada.
Você deseja uma linha como esta:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Isso diz que o firewall deve permitir conexões que já foram feitas e estão funcionando. (ou seja, passou todas as outras regras no firewall.)
Com isso dito, você também precisará de uma regra para permitir o ssh, como:
-A INPUT -s <source> -p tcp -m state --state NEW -m tcp --dport ssh -j ACCEPT
Isto diz ao firewall para permitir que as conexões ssh sejam iniciadas .
Espero que isso ajude.
P.S. Eu teria que checar, mas as linhas "-P" (últimas três) você não deveria estar usando, pois acho que elas limpam as tabelas. Mas eu teria que reavaliar isso.