Convert Xshell SSH Key Into New OpenSSH Format and PuTTY format =============================================================== .. toctree:: :maxdepth: 1 :caption: Contents: .. role:: underline :class: underline 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: .. code:: bash -----BEGIN OPENSSH PRIVATE KEY----- .. code:: bash -----END OPENSSH PRIVATE KEY----- while the traditional format stores RSA private keys as PEM block confined by RSA-specific tags: .. code:: bash -----BEGIN RSA PRIVATE KEY----- .. code:: bash -----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": .. image:: _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: .. image:: _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": .. image:: _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. .. image:: _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: :doc:`ssh_convert_openssh_key_into_putty` Getting help ------------ See :doc:`help` .. _`Xshell`: https://www.netsarang.com/en/xshell/ .. _`PuTTY`: https://www.putty.org .. _`WinSCP`: https://winscp.net .. _`OpenSSH package`: https://openssh.org