8

How to increase the default time out when trying to connect to a remote machine via SSH on Mac OS X?

ssh -D 9999 user@host

2 Answers 2

21

You need to change the ServerAliveInterval, as explained in ssh_config(5):

Sets a timeout interval in seconds after which if no data has been received from the server, ssh will send a message through the encrypted channel to request a response from the server. The default is 0, indicating that these messages will not be sent to the server.

For example, create ~/.ssh/config and add:

Host *
    ServerAliveInterval 120

This will apply to all connections. For a single connection, just use the -o option as explained in ssh(1):

ssh -o ServerAliveInterval=120 user@host
3
  • 1
    Why I'm still getting ssh: connect to host hostname port 22: Operation timed out
    – Chiron
    Jan 3, 2012 at 12:31
  • 6
    Well, then this is not the answer to your actual problem. Why didn't you include the error message in your question? This is a completely different issue and most likely a problem with the server itself. You can either rewrite your question to state the actual problem that you have (in that case I'll delete my answer) … or accept this and ask a new question. Whatever makes more sense to you.
    – slhck
    Jan 3, 2012 at 12:35
  • 2
    Just leave this answer up. Not your problem that the user didn't bother to ask the right question.
    – Daniel Beck
    Jan 3, 2012 at 15:02
6

Specify the option "ConnectTimeout" for connection timeout, eg

ssh -o ConnectTimeout=240 -D 9999 user@host

Or in ~/.ssh/config add

Host *
  ConnectTimeout 240
1
  • 1
    Thanks. But somehow does not work for me longer than 60s (it works with 10), maybe there's a hard limit set somewhere else?
    – Ossip
    Jun 17, 2019 at 16:31

You must log in to answer this question.

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