SSH in windows has very slow transfer rates

2

Where I work, I have had to transition much development from linux machines to windows due to our heavy usage of the .NET framework. We use both SVN and git for version control (transitioning to git) which operate over ssh.

The hardware specifics are that the actual machine is a newer iMac (one of the thin ones...late 2012 27") running a virtual machine (VMWare Fusion 5.0.3) with Windows 7. Network is configured to use NAT and all of the virtual machines operate on a virtual network with the gateway being the iMac which has a static IP address on the network. The servers that I am talking to are all on the LAN (100BaseT), albeit about 100m away in the server room.

The problem is this: Whether it is tortoisesvn or msysgit, whenever my windows machine needs to speak over ssh and transmit data, the data sent maxes out at about 5KB/s. I can't quite tell with data received, but it appears to be very similar. Wireshark reveals that there are an obnoxious number of TCP retransmit and out of order packets being sent/received and I would imagine that this has to do with my speed problems. I have no idea how to fix this.

This is extremely annoying, especially when it takes 30 minutes to push a couple commits containing 1-2MB binary files to a repository on a server 100m away over a local network. I am afraid to do any commits or anything while git is pushing for fear of what will happen, so I essentially end up halting any serious work for a little while when it pushes. I generally try to push when leaving work so it pushes while I am gone, but even so, sometimes the push can't be avoided.

None of the other machines in the room I am in have this issue and everyone seems to push just fine, except for me.

Does anyone know what could be the problem here?

Los Frijoles

Posted 2013-10-10T01:26:33.643

Reputation: 328

Answers

4

Apparently it's because of an old version of OpenSSL. Take a look here:

http://darrell.mozingo.net/2011/09/29/painfully-slow-clone-speeds-with-msysgit-gitextensions/

To check out if you have this ancient version:

$ ssh -V
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007

To fix it, just install the latest version of Cygwin, and either modify the PATH so that the folder to ssh.exe that comes with Cygwin appears before, or copy the following files into C:\Program Files\Git\bin (or Program Files (x86) if you’re on 64-bit):

cygcrypto-0.9.8.dll
cyggcc_s-1.dll
cygssp-0.dll
cygwin1.dll
cygz.dll
ssh.exe
ssh-add.exe
ssh-agent.exe
ssh-keygen.exe
ssh-keyscan.exe

kainjow

Posted 2013-10-10T01:26:33.643

Reputation: 141