Restaurar sessão SSH

13

Eu me conectei ao meu servidor via SSH e criei um processo, mas de repente minha conexão com a internet foi desconectada. Eu sei que o processo está acontecendo, mas como restaurar a sessão anterior para ver o progresso dela?

    
por Arash Mousavi 11.01.2013 / 12:06

7 respostas

16

Como sugerido acima, no futuro você pode usar a tela para evitar isso. Uma breve explicação sobre como usar a tela:

  1. screen -S compiling_stuff
  2. Faça coisas aqui. por exemplo, ./configure
  3. Se a conexão for fechada por algum motivo, você poderá se reconectar ao servidor e emitir screen -r comp
  4. Você também pode desanexar a sessão de tela pressionando CTRL+A+D

Boa sorte

    
por 11.01.2013 / 12:19
17

screen é o melhor para iniciar um comando em um terminal que será mantido quando você se desconectar dele (seja de propósito, ctrl + a d ou porque a conexão é interrompida, etc).

CONTUDO, você PODE reconectar um processo em execução (ex: o shell de sua sessão em execução, se ainda estiver em execução) ao seu terminal atual (ou seja, reconectar stdin, stdout, keyboard, mas também faz do novo terminal o terminal de controle para esse processo) usando: reptyr

Para o melhor dos dois mundos: instale screen , inicie-o e, em seguida, anexe novamente esse processo nas sessões da tela com reptyr ^^

    
por 11.01.2013 / 15:16
7

Você não pode. No futuro, você pode evitar algo assim usando screen ou tmux , que foi criado para permitir a reconexão a uma sessão após uma desconexão.

    
por 11.01.2013 / 12:10
5

Pensei em mencionar o link

Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.

Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.

    
por 11.01.2013 / 16:15
2

Use screen via ssh para reconectar mais tarde a sua sessão.

Até onde eu sei, não há como se reconectar a uma sessão ssh fechada.

    
por 11.01.2013 / 12:10
1

Eu posso recomendar Byobu :

Byobu is an enhancement for the terminal multiplexers GNU Screen or tmux that can be used to provide on screen notification or status as well as tabbed multi window management. It is aimed at providing a better user experience for terminal sessions when connecting to remote servers.

    
por 11.01.2013 / 18:15
1

Eu recomendaria usar o tmux :

Você pode restaurar a sessão do tmux via tmux attach .

tmux is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the Unix shell that started the program.[1] It provides many of the same functions as GNU Screen, but is distributed under a BSD license.

    
por 17.01.2013 / 20:18