PuTTY
This page provides information about using PuTTY, an SSH client for the Windows platform.
References
Website: http://www.putty.org/
Managing keys
Create public/private key
Unfortunately there is no universal format for SSH public/private keys. For instance, OpenSSH has one format, ssh.com another format, and PuTTY uses a third format. PuTTY can work only with keys in its own format.
The application to create a new public/private keypair in PuTTY format (extension .ppk) is PuTTYgen.exe. That application is also capable of converting from/to the OpenSSH and ssh.com formats. The UI is pretty straightforward, there is no need for any explanations.
Configure PuTTY
A PuTTY session is configured with the path to the private key file under
Connection > SSH > Auth
Authentication agent
The authentication agent program that corresponds to OpenSSH's ssh-agent
is the Pageant.exe program. When you launch the program it runs in the background and places an icon in the tray. The program's UI is accessed via the icon's context menu.
You must manually load keys into Pageant.exe. When you load a private key file you must enter the passphrase. From that point onwards Pageant.exe will keep the key in memory until the key is (manually) removed, or the program is terminated. Pageant.exe does not remember keys across sesssions, so when you launch Pageant.exe the next time you must manually load the key file(s) again.
When PuTTY starts a session it will notice that Pageant.exe is running and get the private key from Pageant.exe.
PuTTY and TortoiseSVN
This section explains how to configure a PuTTY session that can be used by TortoiseSVN. The example uses values for Sourceforge. There is also a HOWTO on the TortoiseSVN website.
- Create a new PuTTY session
- Host = user@svn.code.sf.net
- Specify the private key file under "Connection > SSH > Auth"
- Save the PuTTY session under the name "svn-sourceforge"
- Create new folder in Windows Explorer
- Open folder + right-click, then select "SVN Checkout"
- Specify a URL that follows this scheme
svn+ssh://{user name}@{name of the stored putty session}/p/{project name}/code/
- A concrete example would be:
svn+ssh://herzbube@svn-sourceforge/p/fuego/code/