Table of Contents
Subversion Repository Access from Windows
One way to access the Subversion repository on
host.cs.purdue.edu from a Windows machine is to use the three programs
Download and Run puttygen (one time only required)
Copy puttygen.exe to your desktop and launch it. (These instructions were created using version 0.60.)
Generate to generate a private/public key pair (SSH-2 RSA 1024 bit default is fine). Save the public key to, say,
mykey.pub and the private key to, say,
mykey.ppk (the PuTTY private key format). (You can locate these files anywhere, such as in your My Documents folder.) If you put a passphrase on the private key you'll need to type it when running PuTTY and TortoiseSVN.
Mail the public key to the site administrator (either as plain text or email attachment).
The site administrator will add a line like this one to the
~site_login/.ssh/authorized_keys file on
command="/opt/csw/bin/svnserve -t -r repository --tunnel-user=YOU",no-port-forwa rding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABJ QAAAIBlWFo6AFw0PThSBYnVDEAgCtGIehvRn1mhTStBFCxC68OHLUxui6bFGasQDzrR3xngEkz2cUHYz qzxNFza9fbf8j3O7Ea9x4M9g7IBh47quZWRiyS2oJdr42C06e3z+gjCBpUb/SBAOVznzayAtsIH8xycP U/S2gcFGQlumUNF6Q==
Download and Run PuTTY (one time only required)
Copy putty.exe to your desktop and launch it. (These instructions were created using version 0.60.) Configure these settings:
- Session/Host Name: host.cs.purdue.edu (host name provided by administrator)
- Session/saved Session: host (press Save now, then again when configuration is complete)
- Connection/Data/Auto-login username: svn_login (provided by administrator)
- Connection/SSH/Auth/Private key file: browse for your mykey.ppk file
Be sure to save the session (on the Session/Host Name menu).
If your public key has been installed on the Subversion server (by the site administrator in the previous step), then proceed to test the ssh setup…
Test the connection and configuration by pressing the
Open button. It should connect to host.cs.purdue.edu and login as svn_login (you'll need to provide your passphrase if you saved the private key with one). Note that the login will only “half work”: the server will refuse to allocate a pty. This behavior is normal since the ssh key is not configured for direct shell login.
Download and Install TortoiseSVN
Get TortoiseSVN and install it. (These instructions were created using version 1.4.5.)
Link TortoiseSVN to PuTTY Configuration File
Create a local folder for repository access, say,
Right click on the folder and choose TortoiseSVN/Settings. Select Network and fill in the location of the SSH client. Use TortoisePlink.exe. Browse to enter the full path name, but it should be
Checking Out the Repository
Right click on the
Repository folder and select
SVN Checkout…. In the “URL of repository” field, enter…
host is the name of the saved PuTTY session and click OK. If you only want to check out a portion of the repository, e.g., directory henway, use the URL…
If you specified a passphrase for your private key, you will need to enter it again and again. Or, to avoid entering your passphrase repeatedly, you can use Pageant, a key management system bundled with PuTTY. To do so, go to the PuTTY submenu in the Start menu and click on Pageant. When you do, an icon of a computer with a hat on should appear in the notification area of your taskbar. Right-click on this icon, and choose
Add Key. Navigate to the folder you saved your key in previously, select it, and hit enter. It will prompt your for your passphrase and then remember it until you shut down Pageant. To shut down Pageant, right-click on the icon, and select
Unfortunately, every time you load Pageant, you have to add your key to the set of keys it is managing. One solution is to load Pageant when you start Windows by pasting a shortut to Pageant into the Startup submenu in the Start menu. Then, you can edit the properties of this shortcut so that the target of the shortcut loads the key, by changing the target to:
C:\Program Files\PuTTY\pageant.exe C:\Documents\Keys\mykey.ppk
substituting, of course, the path to your private key (mykey.ppk). You can load any number of keys this way by listing them one after the other, separated by a space.
Special thanks to Barry Wittman for working out the details and creating an initial version of this web page for the Multicore project.