Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

Most of the week I live in the city where I have a typical broadband connection, but most weekends I'm out of town and only have access to a satellite connection. Trying to work over SSH on a satellite connection, while possible, is hardly desirable due to the high latency (> 1 second).

My question is this:
Is there any software that will do something like buffering keystrokes on my local machine before they're sent over SSH to help make the lag on individual keystrokes a little bit more transparent? Essentially I'm looking for something that would reduce the effects of the high latency for everything except for commands (e.g., opening files, changing to a new directory, etc.).

I've already discovered that vim can open remote files locally and rewrite them remotely, but, while this is a huge help, it is not quite what I'm looking for since it only works when editing files, and requires opening a connection every time a read/write occurs. (For anyone who may not know how to do this and is curious, just use this command: 'vim scp://host/file/path/here)

share|improve this question
+1 good question. Also useful when doing work remotely on a client's system which is only hooked up via modem (we have that a lot :-( ). – sleske Mar 13 '11 at 10:38
Nagle's algorithm from RFC 896 should do what you want; buffer the keystrokes and send one big packet instead of multiple smaller packets. – Cristian Ciupitu Jun 7 '14 at 2:18

One possible solution is to use sshfs to mount and browse around the remote filesystem with a local shell. You won't have latency while typing commands, but only when listing the contents of directories and accessing files. This includes significant delay on tab completion, since this triggers a listing of the current directory's contents.

share|improve this answer

This question is really old but, for posterity, mosh is a wonderful solution to this problem.

My only problem with it is that as of now it doesn't support SSH agent forwarding. The workaround I use is to have a separate SSH connection open, which I use when I need to git push to private repositories, establish tunnels, etc.

share|improve this answer

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.