January 27, 2018

Keep your SSH session alive and save your keyboard

For the last couple years I’ve been setting up and maintaining the web server we use for our websites at work.

It’s been a long time since the FTP-based workflow we were forced into when we used regular shared servers. I now find myself doing stuff over SSH every day, so I have a session open in a terminal window at almost all times.

There was a problem that used to annoy me very much: after a few minutes without any activity, the SSH connection was dead and I couldn’t input any text. Then I had to reopen the terminal and log-in to the server again. Repeat this a million times during the day and you’ll soon start smashing your keyboard in frustration.

If you, like me, are a newbie in this subject and want to keep your keyboard safe, I have the solution for this specific annoyance (if you’re on a mac).

ServerAliveInterval

In a terminal, edit your /etc/ssh/ssh_config file

> sudo nano /etc/ssh/ssh_config

Then add these lines at the end of the file

Host *
  ServerAliveInterval 60

This makes your machine send a “ping” to the server every 60 seconds, so the connection doesn’t die.

Save the file and exit the editor (ctrl + o, then ctrl + x) and you’re ready to go. Restart your terminal and go on your SSH session. Now you can keep it open forever!

↜ Previous Free sticker PSD mockup

Next ↝ Learning JavaScript by building things