Convert Xshell SSH Key Into New OpenSSH Format and PuTTY format

About

You need to follow these instructions if you want to change the key-pair already stored in the Xshell key store to OpenSSH format, or if you intend to use the key-pair with PuTTY and WinSCP.

The new OpenSSH format for storing private SSH keys keeps the key in a PEM block that starts and ends with the following tags:

-----BEGIN OPENSSH PRIVATE KEY-----
-----END OPENSSH PRIVATE KEY-----

while the traditional format stores RSA private keys as PEM block confined by RSA-specific tags:

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

Note

The new OpenSSH key format was introduced to allow the use of ED25519 (or ECDSA) private keys with the OpenSSH package:

https://openssh-unix-dev.mindrot.narkive.com/J89iXX1q/new-key-type-ed25519-and-private-key-format

Exporting the key into the new OpenSSH format

Start Xshell. Then expand the “Tools” menu and select there “Launch Xagent”:

_images/xshell_invoke_xagent.png

In the open window of Xagent check if the key you want to export is there. Afterwards, press on the “Manage Keys” button:

_images/xshell_xagent_key_list.png

As a result a new window will pop up. Select there the key to export and then press “Export”:

_images/xshell_select_key_to_export.png

Be careful when saving the file. Select ‘OpenSSH New Format Private Keys’ from the ‘Save as type’ menu and only then press the ‘Save’ button.

_images/xshell_export_key_in_new_openssh_format.png

Convert the exported key into PuTTY format

Warning

Make sure you completed the file export procedure described above successfully.

To convert an exported key from the new OpenSSH format into a PuTTY supported one, follow the instructions given in the “Convert the key” section of the following document:

Convert OpenSSH Key Into PuTTY Format

Getting help

See Getting help