Subscribe to How-To Geek

Keep Your Linux SSH Session From Disconnecting

I’m the type of geek that has an SSH client open at all times, connected to my most frequently used servers so that I have instant access for monitoring and anything else. As such, it irritates me greatly when I get disconnected, so I’m sharing a few methods for keeping your session alive.

You can configure the ssh client to automatically send a protocol no-op code code every number of seconds so that the server won’t disconnect you. This is setting is sometimes referred to as Keep-Alive or Stop-Disconnecting-So-Much in other clients.

Global Configuration

Add the following line to the /etc/ssh/ssh_config file:

ServerAliveInterval 60

The number is the amount of seconds before the server with send the no-op code.

Current User Configuration

Add the following lines to the ~/.ssh/config file (create if it doesn’t exist)

Host *
  ServerAliveInterval 60

Make sure you indent the second line with a space.

Per-Host Configuration

If you only want to enable keep alive for a single server, you can add that into the ~/.ssh/config file with the following syntax:

Host *hostname.com
   ServerAliveInterval 60

Works quite well, hope it helps somebody else out there.

| More
This article was originally written on 08/16/07 Tagged with: Linux

Daily Email Updates

You can get our how-to articles in your inbox each day for free. Just enter your name and email below:


Name:
Email:

Comments (8)

  1. Micha

    Thanks a lot!

    That’ll save my life!
    OK, I wouldn’t die if i didn’t know this, but it shuold make life easier. I hate being disconnected…

  2. Chuck

    That’s a great tip. Another idea (one you can use in tandem with the above) is to use the “screen” program. Then, if you are somehow disconnected you can just re-atach the screen and all your stuff is there just as you left it.

  3. Dan

    Already knew this, but it popped up on my iGoogle page as I have your feed on there, great tip and excellent explination, K.I.S.S :D (Keep it simple Stupid)

    I’ll be pointing some of my customers to this blog entry :P

  4. oOJINxOo

    ty soooo much ^_^

  5. Nathan

    Helped much, thanks mate!

  6. Ammar

    thnx :)

  7. Chris

    So I have an account to a linux machine @ school that I do most of my programming projects through. I ssh into my account and work from there and many a times my session times out while reading a how-to article and I have to reconnect( annoying ). The thing is security on my schools system is really tight. /what I want to know is will I be able to run this command as joe user or do I need root permission to do it? I can edit some things like my bash profile but I cannot add programs with apt or change any system files….. It seems like the session time is something regulated by the systems admins but idk……… thanks for your help. I love this blog!

  8. linux lover

    Thanks for this tips.
    It help me much today, working on SSH connection.


Leave a Comment




Leave your friendly comment here.

If you have a computer help question, click here to leave it on the forums instead.

Note: Your comment may not show up immediately on the site.

Our Friends
Getting Started


About How-To Geek
What Is That Process?
svchost.exe
jusched.exe
dwm.exe
ctfmon.exe
wmpnetwk.exe
wmpnscfg.exe
rundll32.exe
wfcrun32.exe
Ipoint.exe
Itype.exe
Wfica32.exe
Mobsync.exe
conhost.exe
Dpupdchk.exe Adobe_Updater.exe

Copyright © 2006-2009 HowToGeek.com. All Rights Reserved.