recuperar conexão de sessão ssh

2

Sou bastante novo no Ubuntu e preciso fazer algo, mas não sei como.

Vamos supor que eu quero me conectar a um servidor, iniciar uma grande compilação (horas) e não quero ficar conectado ao servidor enquanto ele é compilado.

Agora, se eu desconectar e conectar novamente, não consigo ver a saída da compilação (suponho que a conexão crie uma nova sessão)

Existe uma maneira de se conectar, lançar algo, desconectar e ao conectar novamente retomar a conexão anterior para que eu possa ver toda a saída para o console que foi feito até agora? (Como se eu fizesse um desktop remoto, mas em ssh)

Obrigado

EDITAR:

Estou interessado em recuperar a sessão de console. Imagine que a compilação ou qualquer outra coisa que eu esteja executando em algum momento peça a entrada do usuário para continuar.

Exemplo de brinquedo:

1) Eu conecto por ssh

2) Eu corro sudo apt-get dist-upgrade

3) Isso vai me pedir confirmação para atualizar (eu sei que posso passar algumas bandeiras para evitar a confirmação, mas eu não quero)

4) eu desconecto

5) Eu me conecto novamente e quero poder ver o histórico e o console me pedindo confirmação para atualizar

6) Eu confirmo para atualizar e desconectar novamente.

    
por Sembei Norimaki 06.09.2016 / 17:12

2 respostas

4

Você deseja um multiplexador de terminal persistente, como tmux ou tela GNU .

Estes permitem abrir uma ou mais sessões de shell dentro de uma única conexão; desligue-se deles (deliberadamente, digamos, no final do seu dia de trabalho, ou não intencionalmente, como devido a problemas de rede) e depois reconecte-se à (s) mesma (s) sessão (ões) do shell.

Existem muitos subcomandos e possíveis personalizações, mas um uso típico seria

$ tmux      /* starts new shell, with tmux status bar at the bottom of terminal window */
$           /* do stuff */
$ Ctrl-b d  /* key escape sequence to detach from tmux session */
$ exit

            /* ... time passes; much later you ssh back in ... */

$ tmux attach

            /* and you're back on the session you detached from */

Como nota adicional, embora tenha fornecido links para as páginas do projeto, ambas as opções são empacotadas para o Ubuntu e podem ser instaladas via sudo apt install , se ainda não estiverem instaladas na versão do sistema operacional que você estiver executando.

    
por user4556274 06.09.2016 / 17:41
0

Você pode iniciar o comando como

nohup <your command>  &

Isto não só irá separar o processo do seu shell ssh (caso contrário, o processo será eliminado no logout), mas também criará um arquivo chamado nohup.out que contém toda a saída do seu processo.

    
por PaulS 06.09.2016 / 17:17