Tal comportamento pode ser conseguido forçando o SSH a executar o GNU screen
.
Por exemplo, se você criar um usuário "teste" na máquina, poderá receber acesso inserindo o abaixo em /etc/ssh/sshd_config
:
Match User test
ForceCommand screen -x || screen
A linha Match User test
é opcional, mas impede que todos tenham um shell desse tipo compartilhado. O comando forçado age assim:
- Se houver um shell aberto anterior, reconecte-o a ele (
screen -x
) - Caso contrário, inicie um novo shell (
screen
)
Combinado com um bom arquivo ~/.screenrc
, você terá uma ótima experiência de shell à qual poderá anexar novamente a conexão cai.