Linux / UNIX: Speed up SSH X11 Forwarding

by on January 5, 2011 · 7 comments· LAST UPDATED January 5, 2011

in

I've an CentOS based server and Ubuntu based desktop pc. I'm connecting to my CentOS using ssh X11 forwarding feature. However, speed over the Internet is pretty slow for certain apps such as VMWare console. How do I speed up OpenSSH X11 forwarding using Linux / UNIX desktop system?

You need to use the following syntax to speed up SSH 11 forwarding:

ssh -X -C -c cipher1,cipher2 user@server.example.com

Where,

  • -X : Turn on SSH X11 forwarding
  • -C : Requests compression of all data. You can also specifies the compression level to use if compression is enabled using the CompressionLevel option in ssh_config file. The argument must be an integer from 1 (fast) to 9 (slow, best). The default level is 6, which is good for most applications.
  • -c : Set ciphers. Blowfish is a fast block cipher; it appears very secure and is much faster than 3des. (see sshd man page for more info).

In this example, connect to the ssh server called www544.nixcraft.net.in using vivek user and start firefox browser:
$ ssh -X -C -c blowfish-cbc,arcfour vivek@www544.nixcraft.net
[www544 ~] $ firefox &

You can avoid typing by editing /etc/ssh/ssh_config file as follows:

 
Cipher blowfish
# default line
##Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
## see man page for more info on Ciphers
Ciphers blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
Compression yes
 

Save and close the file. You can now simply connect it as follows:
$ ssh -X vivek@www544.nixcraft.net
[www544 ~] $ firefox &

References:

  • man pages - ssh, ssh_config, sshd
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 7 comments… read them below or add one }

1 yoander January 6, 2011 at 5:27 pm

Hello vivek, Why OpenBSD logo?

Reply

2 Alex January 7, 2011 at 8:19 am

…since OpenSSH came from OpenBSD :)

Reply

3 Wizzy April 14, 2012 at 9:17 am

Just the second
[quote]
-C Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11 and TCP connections). The compression algorithm is the same
used by gzip(1), and the “level” can be controlled by the CompressionLevel option for protocol version 1. Compression is desirable on modem lines and other
slow connections, but will only slow down things on fast networks. The default value can be set on a host-by-host basis in the configuration files; see the
Compression option.
[/quote]
and this is I mean
[quote]but will only slow down things on fast networks[/quote]
RTFM

Reply

4 Jeevan Kadam September 23, 2013 at 10:25 am

I have used this command, but it doesn’t resolved my problem at expected level.
I am trying to access my one of the development product which has huge configurations over the linux server. Whereas I am accessing it from my client Desktop by using X11 Forwarding option for its GUI development. What could be the another option to resolve the same or Does this required more bandwidth rate over network?

Please suggest on the same.!

Thanks,
G1

Reply

5 oldnixguy October 19, 2013 at 9:44 am

Jeevan,

You can try NX (see http://www.nomachine.com), it really speeds things up and makes remote desktop sessions possible even on very slow lines (I could use it on a 56k phone line).

Reply

6 dimenwarper November 7, 2013 at 6:14 pm

Works great! I find the cipher was the main thing slowing my connections, blowfish is much faster.

Reply

7 Alpha December 3, 2013 at 8:15 am

Hi I want to know how to make it under windows?

I tried Xshell+Xming under windows 7

but it’s very slow…

I tried script below
ssh -c arcfour,blowfish-cbc -XC username@host

But when I use Xshell it’s always think “-c arcfour,blowfish-cbc -XC username” is my username!

Is there any other way to make it faster?

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: