Discussões anteriores:
Duas coisas vêm à mente (já que reclamar com a AT & T será inútil):
1) Eu tive problemas com firewalls perdendo conexões quando não há tráfego. Isso não soa como o seu caso, mas não faria mal acrescentar um keep-alive de 30 segundos como parte da sessão ssh.
2) Use a tela Gnu (ou melhor o tmux se você tiver na caixa FreeBSD) para que pelo menos quando você reconectar nenhum trabalho seja perdido. tela -RR em seu .profile torna isso incrivelmente conveniente para garantir que você sempre tenha uma sessão de tela em execução. Usando autossh com isso, pelo menos, minimizar a dor.