5

I am installed Ubuntu on Virtual Box, and use xshell (a remote terminal application) to ssh to ubuntu. when I hibernate computer during night, after powering it on, the session is expired and I should to ssh to ubuntu again. Is there is way to configure ssh to nut expire during hibernation or after hours of ideal connection? I use Fedora to, if configs have differences please mention it. I use Windows 7.

2 Answers 2

6

Try tmux. On the server side:

sudo apt-get install tmux

After logging in, start tmux.

tmux

If the connection breaks, log in again via ssh and reconnect the tmux session. To discover the session number:

tmux ls

The output might be something like this:

0: 1 windows (created Wed Jan 9 12:27:40 2013)

Connect to the tmux numbered session like this:

tmux attach -t 0

Then you are right back where you left it.

1
  • Or GNU screen. Either don't leave ssh connected and instead use some detachable middleware, or use something other than plain ssh.
    – njsg
    Jan 9, 2013 at 16:31
4

No. ssh is a TCP-based protocol with no support for "hibernation" or even for "roaming" (IP address changes). You will need something else if terminating the ssh connection before hibernating and connecting again when you resume is not desirable.

Perhaps give mosh ("the mobile shell") a try.

But, for short, no. TCP connections are closed on timeout, and ssh does not include any strategy to deal with that.

2
  • But ssh has parameters ConnectionTimeout and remote terminal apps has keepalive message interval parameters. Cannot these parameters be used for this purpose?
    – Sam
    Jan 9, 2013 at 16:39
  • 2
    No. That could work to a certain extent, if you are connecting from the same address after resuming, but it always has a time, and you need to have access to both client and server to change the timeout (it's of no use to have a large timeout on your side if the server still has the default value). keepalive is to send "keepalive" messages to avoid cases where the connection is dropped due to inactivity. A basic requirement of this is that you must be on and connected to send the keepalive messages... those won't help you at all with hibernation.
    – njsg
    Jan 9, 2013 at 17:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .