Here is a step-by-step guide to logging into your Unix shell from a remote Windows computer using PuTTY, conducting secure file transfers using the graphical WinSCP client, and accessing remote CVS/SVN repositories using either the command-line cvs / svn commands, or graphical clients such as WinCVS.
Download PuTTY package or installer from the PuTTY download page. You may want to install
putty.exe in some convenient location in your system PATH (e.g., C:\WINDOWS\COMMAND\).
Start up PuTTY. This brings up the PuTTY Configuration window. In the Session category, do the following:
The putty.zip package consists of a collection of command-line utilities, which will enable the user to connect and conduct file transfers in a secure manner. The two most significant transfer tools in the collection are:
pscp.exe, a copy program, and
psftp.exe, an FTP-style client.
If you wish to use a graphical interface, there is an excellent open-source scp/sftp client, called WinSCP, freely available for download here. WinSCP goes beyond the basic file transfer operations and allows the user to manage directories and file attributes, such as setting permissions and group ownership on files or directories. In addition with WinSCP, the user can perform remote text file editing.
You can download the WinCVS client from the WinCVS homepage. Once WinCVS is running, select Admin/Preferences to enter the CVS repository settings. Enter the CVSROOT (e.g.,
cvsusername@server:/path/to/cvsroot) and select SSH server as the authentication mode. For security reasons, we recommend that CVS repositories be accessed through "CVS-only" accounts created from csoftadm, not your main Unix account. Leave the Use version setting to "cvs 1.10 (Standard)". It is also recommended to select a TCP/IP compression level of 3 (in the Globals tab).
Make sure that you have the following Cygwin packages installed. If you don't have Cygwin installed, get the Cygwin installer from the Cygwin home page (click on "Install Cygwin now").
Back to the WinCVS preferences window, select the Ports tab. Say you have Cygwin installed in C:\Cygwin, check the Check for an alternate rsh name option, enter the path C:\Cygwin\bin\ssh and you're done. Checking out modules should work at this point.
The original cvs is available as a Cygwin package and it supports the SSH protocol. The cvs micro-howto instructions also apply to the Cygwin port of cvs. Obtain the Cygwin installer from the Cygwin homepage and make sure that at least the following packages are installed:
Start up the Cygwin bash shell and follow the instructions in the cvs micro-howto.
You probably don't want to have the CVS program ask for your SSH password at every operation. Public key authentication allows your SSH client to connect without having to enter a password. To generate a key pair, use
ssh-keygen from the Cygwin shell:
$ ssh-keygen -t ecdsa $ ssh-keygen -t ed25519
Login to the Control Panel and click on the CVS-only account in the CVS accounts section. It will allow you to paste the contents of your local ~/.ssh/id_*.pub file. Multiple keys can be assigned per CVS account.
Alternatively, you can also paste your key using
cvs pubkey add in the command-line
Note: For best security, enter a non-empty passphrase and use ssh-agent(1) on your workstation so that the passphrases are remembered (ssh-agent attaches to your login session).