Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have 100+ embedded boards that we need to talk to occasionally.

We've found the best way to do this reliably (there are some strange internet connections out there) is to have the boards open a few reverse ssh tunnels to our server.

Currently each board opens three tunnels, for a total of around 300. The tunnels are inactive most of the time .

Are there any performance implications of this? Assuming we don't run out of ports or file descriptors, what is most likely to trip us up?

Edit: I'm primarily concerned with having several hundred inactive clients connected at once. Only a few of the tunnels will be in active use at any one time.

share|improve this question
I'm curious about the need to open 3 tunnels per machine. Care to enlighten me? – John Gardeniers Feb 8 '12 at 20:41
One tunnel is for ssh, the other two are for services running on the clients that we need to connect to. Currently we pull, rather than push data. – Johan Feb 9 '12 at 10:12
up vote 3 down vote accepted

The limit on active SSH connections is 65,534 minus the number of TCP ports in use on your system -- If we want to be conservative let's just say 60,000 (or for most practical purposes "Unlimited"). You may bump up against other system resource limits however, depending on the machine you're connecting to.

That said you might want to economize on the number of tunnels (do you really need three connections per board?), and if you don't always need the connections up you might want to have the remote site initiate them only when needed.

share|improve this answer
It's the other system resource limits I'm interested in. What might they be? – Johan Feb 9 '12 at 10:14
It's impossible to enumerate every system resource that can be exhausted - This is like asking for an exhaustive list of why a computer won't boot (the hardware fault tree alone would be a book). A few of them in rough order of likely exhaustion: max number of logins per user (if set), max number of logged-in users system-wide, max number of open filehandles, RAM, network bandwidth, CPU – voretaq7 Feb 9 '12 at 16:19
I know - but first on the list are things like 'Is it plugged in?' I didn't know about any logged-in user limit, so if I check that's ok I think we'll be good for a while. Thanks. – Johan Feb 15 '12 at 10:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.