mRemoteNG is nice and lightweight tabbed session manager. It is a perfect fit to manage your remote server farm with both Windows and Linux machines, since it supports multiple connection protocols out of the box – including SSH and RDP (yet, you may need to update your older Windows client to run newer RDP version).
However, connecting to Linux instances that run on AWS requires a bit more than just SSH client. As you probably know, Linux EC2 instances have password authentication disabled by default to prevent brute-force attacks and want you to supply your private key instead. But there is no such field in mRemoteNG configuration pane! So, how can you configure it to send your private key instead of password?
It appears that mRemoteNG relies on embedded PuTTY to provide SSH support. In turn, PuTTY by itself is able to work with private keys authentication required by AWS. Here is the detailed explanation about the configuration steps.
Step 1 – Prepare PPK file
First of all, you’ll need to convert your private key from PEM format provided by AWS to PPK format supported by PuTTY. Standalone PuTTY installations usually come bundled with PuTTYgen utility that can do the job for you, so if you already have one – feel free to find it somewhere under Start Menu. Otherwise, you can grab fresh PuTTYgen copy directly from PuTTY download page.
1. Open PuTTYgen and import your PEM file via “Conversions” => “Import key” menu.
2. (Optional) Provide some meaningful comment in “Key comment” field so you’ll be able to recall the source of this key.
3. (Optional) Provide and confirm passphrase for additional security. You can skip this step and ignore the warning during the save operation if you are not paranoid enough 🙂
4. Save this key in PPK format via “Save private key” button. Now you are ready to the next step.
Step 2 – Prepare PuTTY session
1. Open mRemoteNG and go to “Tools” => “Options” menu.
2. In the Options dialog, select “Advanced” section and click on “Launch PuTTY” button on the right.
3. In embedded PuTTY configuration window go to “Connection” => “SSH” => “Auth” node in the tree on the left.
4. In the bottom-right, browse for the PPK file you prepared in the step 1.
5. Now go to “Session” node, provide some name in the “Saved Sessions” edit box (for example, “AWS”) and click “Save”.
6. Close PuTTY configuration window and mRemoteNG options dialog. Your PuTTY session is now ready.
Step 3 – Configure mRemoteNG
Now all that you have to do is to inform mRemoteNG to use your fresh PuTTY session in SSH connections to AWS.
Credits go to this Nick Hardman’s post that helped me to connect things together!