Suas regras parecem corretas, mas abrangem tanto o serviço ssh quanto o uso do cliente ssh.
A interface não precisa ser especificada, a menos que você precise ser tão granular.
Mensagens ICMP estão sendo bloqueadas, o que pode estar impedindo a conexão de funcionar.
O tráfego de loopback também está sendo eliminado, o que pode ter algumas conseqüências não intencionais.
-
Regras do cliente
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A OUTPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-
Regras do servidor
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A OUTPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Durante o teste, você pode monitorar qual tráfego está sendo gerado no cliente e exibido no servidor executando um tcpdump
ao tentar as conexões. Isso pode ajudá-lo a restringir a situação ou o que está acontecendo.
client$ tcpdump -ni eth0 host 192.168.1.15
server$ tcpdump -ni eth0 host 192.168.1.99