Единственный способ решить эту проблему, переключаясь между awk и оболочкой, — позволить сценариям AWK генерировать код оболочки для следующего шага. Но это звучит слишком сложно для меня. Я также рекомендовал бы перенести все в awk (или здесь можно использовать и perl?)
Вам необходимо настроить клиент так, чтобы он разрешал НОВЫЙ исходящий трафик, как у вас, но также разрешал входящий трафик на тот же порт для УСТАНОВЛЕННЫХ соединений. На хосте вам необходимо разрешить входящие НОВЫЕ соединения на этот порт и исходящие на тот же порт для УСТАНОВЛЕННЫХ соединений.
Пример:
(Это позволит входящие соединения SSH, подходящие для хоста)
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
(Это позволит исходящие соединения SSH, подходящие для клиента)
sudo iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT