Conectar-se automaticamente a uma sessão de tela ao efetuar SSH em um servidor remoto

Se você precisa de SSH para um servidor remoto e tem a infeliz sorte de se conectar via BTOpezone WiFi – que me desconecta automaticamente por cerca de 2 horas – você precisa ter uma maneira de manter o estado do seu terminal e scripts, quando o Quebras de tubo SSH.
Screen e Tmux são muito bons nisso. Como o Screen é mais onipresente e pode ser encontrado pré-instalado nas versões mais recentes do * nix, eu queria uma forma de anexar a uma sessão de tela assim que fizesse login via SSH.

Adicione o seguinte ao seu

.bashrc

arquivo e na próxima vez que você fizer o SSH de volta, será anexado a uma sessão existente. NB que isso só funciona para a primeira sessão anexada encontrada. Provavelmente não funcionará muito bem para sessões múltiplas de Screen.

if [ $SSH_TTY ] && [ ! $WINDOW ]; then
SCREENLIST
=`screen -ls | grep 'Attached'`
if [ $? -eq "0" ]; then
echo
-e "Screen is already running and attached:n ${SCREENLIST}"
else
type
-P byobu &>/dev/null && byobu -U -R || screen -U -R
fi
fi