Eu uso uma combinação de .ssh / config e screen:
Primeiro (como mencionado em várias respostas anteriores) eu configuro meu arquivo .ssh / config para que eu possa usar nomes curtos e pular a digitação do meu nome de usuário (que não é o mesmo nome de usuário da minha máquina local, então é bom tê-lo explicitamente em .ssh / config) e, de preferência, use chaves públicas para logins sem senha.
Eu tenho um alias (ou função) que lista todos os hosts no meu arquivo .ssh / config, então se eu esquecer os nomes deles (eu tenho acesso a várias dúzias, e os esquemas de nomenclatura são descontroladamente inconsistentes e eu não não use todos eles com a mesma frequência que os outros) Eu apenas posso digitar 'hosts' para ver todos os seus nomes listados.
Agora, para a tela. Uma vez que executar a tela na minha máquina local significa que perco todas as minhas sessões quando levo meu laptop para a noite, e um dos grandes benefícios da tela é ter sessões persistentes. Eu não corro a tela localmente. Em vez disso, faço login em um servidor remoto e executo a tela nesse servidor (vamos chamá-lo de "jumper", pois ele serve como um "ponto de partida") e, a partir dele, faço login nas outras máquinas com as quais estou trabalhando.
Eu NÃO coloco todos eles no meu arquivo .screenrc para login automático, porque eu não quero CADA servidor TODAS as vezes. Eu normalmente quero um subconjunto, então eu tenho uma sessão de tela com um subconjunto e outra sessão de tela com outro subconjunto de telas.