Overview
This How-To is targeted at developers working on Windows that need to access a Unix server running Concurrent Versions System (CVS) via SSH. I will assume that you are using WinCVS, which I've found is the best Windows GUI client, though I prefer the CVS command-line app.
NOTE: As of 2004-05-24, this is now a very old (~2 years) document. It should all still work, but there are probably better alternatives now. For example, if doing Java development I highly recommend Eclipse. As well, I had LinCVS recommended to me by one of the developers. Nowadays, I would seriously consider one of these options rather than using WinCVS with these instructions. Actually, for all I know WinCVS may now support SSH directly.
Configuration Steps
To start, you'll need a username, password, and CVSROOT path as well as the name of the CVS server you'll be connecting to. See your system administrator for this information. If you follow these steps, you should have no problems using configuring CVS. These instructions have been tested on Win NT and W2K, but they'll probably work with minor modifications on consumer versions of Windows.
If you do have trouble, don't hesitate to contact me.
- Install the most recent version WinCVS on your machine. Extract the files to your local hard drive, in a temporary directory; run the extracted setup.exe.
- Download and extract the ssh-1_2_14-win32bin.zip archive into the newly installed WinCVS directory.
- Start | Settings | Control Panel | System, choose Advanced tab and then Environment Variables. Create a new 'user variable' called HOME. Set to F:\Documents and Settings\<USERNAME>. (Recommended) Win9X/ME users will need to add the line 'SET HOME=C:\HOME_DIR' to their C:\AutoExec.bat file using 'edit' from the DOS prompt.
- From a command prompt on the client machine, change directory (cd) to
C:\Program Files\GNU\WinCvs 1.2
(or wherever you installed WinCVS). Execute:
ssh-keygen.exe -C <YOUR_EMAIL>For example:ssh-keygen.exe -C davis@guydavis.caSimply hit enter at each prompt. Do NOT enter a passphrase; this will make using WinCVS considerably more pleasant. - Copy over the identity.pub file created in your HOME to your ~/.ssh directory on the CVS server. Use scp.exe from the DOS command prompt:
- Append your newly-generated key to your list of public keys on the cvs
server. This step assumes the server is running my keyadd script. If not, you have to login
and append the identity.pub file to ~/.ssh/authorized_keys yourself,
ensuring correct permissions.
ssh -l <USERNAME> CVS_SERVER keyadd.windowsFor example:ssh -l davis guydavis.ca keyadd.windows - To test that the key pair is working, type the following command:
ssh -l <USERNAME> CVS_SERVERFor example:ssh -l davis guydavis.caYou should be logged into the server without being prompted for your password. Type 'logout' to exit the shell session. - Open up WinCVS. Select Admin | Preferences | General. Set the
CVSROOT to be
<USERNAME>@CVS_SERVER:CVSROOTFor example:davis@guydavis.ca:/home/cvsSet Authentication to 'SSH Server' and then choose your newly created identity file (use 'identity', not 'identity.pub') for the RSA identity field. For example:d:\NTsettings\davis\.ssh\identity - Using SSH, you never need to use the Login/Logout menu items in WinCVS. Try to checkout a module ( Create | Checkout Module ). If this doesn't work, you'll hopefully see an error in the output (bottom window pane).
- Read the WinCVS -- Daily Use Guide.
scp.exe %HOME%\.ssh\identity.pub
<USERNAME>@CVS_SERVER:identity.pub
For example (all one line):
scp.exe d:\NTsettings\davis\.ssh\identity.pub
davis@guydavis.ca:identity.pub
You will be prompted for your password; use the one provided to you by
the CVS server adminstrator.



















