How to set up WinCVS with ssh

Install a ssh client.

Download Cygwin and install the ssh package.

Auto login for ssh

Excellent instructions are provided here, a summary is provided below.

  1. Login to the ssh server with your client.

  2. Generate your key pair using the following command:

    $ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/jurn/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/jurn/.ssh/id_rsa
    Your public key has been saved in /home/jurn/.ssh/
    $ cd ~/.ssh
    $ cat >> authorized_keys
    $ chmod 600 authorized_keys
  3. Log out of the server and go back to your local shell

    $ cd /home/`whoami`/
    $ mkdir .ssh
  4. Copy the file id_rsa that was generated on the server into this directory. You can use sftp or scp for this.

  5. $ cd .ssh
    $ chmod 600 id_rsa
  6. You should now be able to login via ssh without having to prompt for a password.


In cygwin, your /home/`whoami` is not the same as $HOME, even if you set this within Windows

If you are having trouble you can use the -v option in ssh to give you some debugging info.

Lookup the man page for ssh if you are stuck.

Install Win CVS

Download the recommended version from

Install the program.


Go to Admin > Preferences and enter CVSROOT as user@host:/dir/to/cvs. Set the authentication to > ssh server.

Go to the Ports tab, click the checkbox called 'Check for an alternate rsh name:' and put the path to the Cygwin ssh there

To create a project to be used with cvs, login to the cvs server via ssh, change to an empty directory and issue the command:

cvs import -m 'start' new_project/dir/to/create comment start

To add files, go to Create > Import Module... and select the direct you wish to add to cvs. Put the module name and path as the server as the basename of your local directory

After this has been done, goto Create > Checkout Module... and enter the path of the new_project, or use an existing, and point it to your local working directory. The directory new_project will be created in there.

To edit the files you must change them to not read-only.