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
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.
-
Or GNU
screen
. Either don't leavessh
connected and instead use some detachable middleware, or use something other than plainssh
.– njsgJan 9, 2013 at 16:31
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.
-
But ssh has parameters
ConnectionTimeout
and remote terminal apps haskeepalive message interval
parameters. Cannot these parameters be used for this purpose?– SamJan 9, 2013 at 16:39 -
2No. 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.– njsgJan 9, 2013 at 17:07