If you’re a Windows based user of GitHub and using TortoiseGit then it’s highly likely you’ve used PuTTYGen to generate the SSH key you’re using with GitHub and why not – it works fine. That is until you want to start using TeamCity with GitHub.
If you try to configure your VCS root in TeamCity using the bundled Git plug-in, with a private key generated with PuTTYGen, you’ll likely get the following error: Connection failed! Repository 'firstname.lastname@example.org:accountName/repoName.git': Unable to load identity file: C:\whatever\YourPrivateKey.ppk (passphrase protected)
We spent a while messing around with the different authentication methods available in the TeamCity – trying to configure default .ssh keys for the logged on user, adding SSH config files and nothing worked.
Eventually we re-generated our SSH key using Git Bash, instead of PuTTYGen (as detailed here) and suddenly – Connection successful!
I’ve since discovered that you can get the same result using PuTTYGen, but you have to export your key as a OpenSSH key: Load your existing private key – File/Load private key (enter your passphrase). Export to OpenSSH – Conversions/Export OpenSSH key. Use the resulting key as the private key you give to TeamCity.