Today I got curious what the speed differences are when you use a different cipher for an SSH tunnel.
First, create a 100 MB testfile on the remote box:
you@remote $ cd /var/www you@remote $ sudo dd if=/dev/urandom of=./testfile100mb.bin bs=1M count=100
Then set up a tunnel from your local desktop to your remote webserver, and use wget to test it:
In one terminal (using the default cipher here):
you@local $ ssh -L8080:localhost:80 remote
In the other:
you@local $ wget http://localhost:8080/testfile100mb.bin (3.87 MB/s) - ‘testfile100mb.bin’ saved
Now exit the tunnel and retry with another cipher:
you@local $ ssh -c arcfour256 -L8080:localhost:80 remote
you@local $ wget http://localhost:8080/testfile100mb.bin (3.87 MB/s) - ‘testfile100mb.bin.1’ saved
Hmmm, that's not much. And not encrypting anything doesn't work:
you@local $ ssh -c none -L8080:localhost:80 remote No valid ciphers for protocol version 2 given, using defaults.
Then we'll just have to trust the developers:
http://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/