как создать цикл с выполнением после завершения команды?
В общем случае:
while :
do
ssh -R localhost:2222:localhost:22 root@myhost
done

Однако, именно в данном случае есть более изящное решение:
есть программа autossh, созданная именно для таких условий (автоматический реконнект после потери соединения).
Просто ставите пакет, в команде меняется ssh на autossh и будет так, как вы хотите (:
autossh
Держит дополнительное соединение, по которому посылает Keep-alive для проверки. Есть в репозиториях убунту и дебиана