====== Screen and Other Settings For a New Host ======
startup_message off
bind ' ' windowlist -b
defscrollback 5000
defmonitor on
hardstatus alwayslastline
caption always
caption string '%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<'
shelltitle '$ |bash'
...
PROMPT_COMMAND='echo -n -e "\033k\033\\"'
The following sets the screen title to the ssh host you have connected to.
~/.ssh/config:
Host *
PermitLocalCommand yes
LocalCommand tty -s && echo -ne "\ek%h\e\\"
(On every ssh connection 'LocalCommand' is run, which formats the remote hostname into the needed escape sequence for screen to set the window title).
====== SSH keepalive ======
To keep SSH sessions from timing out:
Host *
...
TCPKeepAlive yes
====== TCP keepalive ======
To keep all TCP sessions from timing out:
# sysctl -w net.ipv4.tcp_keepalive_time=200
# echo net.ipv4.tcp_keepalive_time=200 >> /etc/sysctl.conf