Keeping Your SSH Connections Alive: Configuring ServerAliveInterval and ServerAliveCountMax
Maintaining a stable SSH connection is essential when working on remote servers. Disconnections due to inactivity can interrupt workflows and be quite frustrating. Fortunately, you can configure SSH to send periodic keep-alive messages, preventing your connection from timing out.
Step-by-Step Guide
1. Open the SSH Client Configuration File
Use your preferred text editor to modify the SSH configuration file. For example, with vim:
sudo vim /etc/ssh/ssh_config
If OpenSSH is installed via Homebrew, the configuration file might be located at:
/usr/local/etc/ssh/ssh_config
2. Modify the Configuration
Add the following lines after the Host * directive to apply these settings to all SSH connections:
ServerAliveInterval 240
ServerAliveCountMax 10
ServerAliveInterval: Specifies the interval (in seconds) at which the client sends keep-alive messages to the server. In this case, every 240 seconds.ServerAliveCountMax: Limits the number of keep-alive messages sent without response before the connection is terminated. Here, the client will attempt to send 10 keep-alive messages.
3. Save and Exit
If you’re using vim:
- Press
ESCto enter command mode. - Type
:wqand pressEnterto save and exit.
4. Test the Configuration
To test if the new settings are working:
- Connect to a remote server using SSH:
ssh user@your-server - Ensure the connection remains active during periods of inactivity.
Conclusion
With this configuration, your SSH client will actively send keep-alive signals, reducing the risk of unexpected disconnections. Adjust the values of ServerAliveInterval and ServerAliveCountMax as needed to suit your environment.
Comments
Post a Comment