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 csoftadm
.
Note: For best security, enter a non-empty passphrase and use ssh-agent on your workstation so that the passphrases are remembered (ssh-agent attaches to your login session).