This post describes how to generate SSH private and public keys for Linux VM on azure. This post uses “Windows Azure Command Line tool for node.js” https://github.com/WindowsAzure/azure-sdk-tools-xplat to spin up the VM
1. Install OpenSSL from http://gnuwin32.sourceforge.net/packages/openssl.htm (go for "Complete package, except
sources")
2. Open the location "C:\Program Files
(x86)\GnuWin32\share" create a backup of the file "openssl.cnf"
3. Open notepad.exe, copy the sample config
file content from http://www.flatmtn.com/article/setting-openssl-create-certificates.
Save this file with name "openssl.cnf" under "C:\Program Files
(x86)\GnuWin32\share"
4. Run the command prompt as administrator,
switch to "C:\Program Files (x86)\GnuWin32\bin". Run the below command
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem -config "c:\Program Files
(x86)\GnuWin32\share\openssl.cnf"
5. Create your VM using CLI tool with
--ssh-cert value "myCert.pem"
azure vm create myvmssh3 b4590d9e3ed742e4a1d46e5424aa335e__SUSE-Linux-Enterprise-Server-11-SP3-v103 anuchandy <password> --location "West US" --ssh --ssh-cert
"C:\Program Files (x86)\GnuWin32\bin\myCert.pem"
6. Download puttygen.exe from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
7. Run puttygen.exe, select "File =>
Load Private Key", You will need to change the file filter to show All
Files (*.*) and select "myPrivateKey.key" file generated in step 4
8. Click on "Save Private Key" and
save with name "myPrivateKey.ppk"
9. Download putty.exe from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
10. Run putty.exe and connect to the VM
created by providing host name as "myvmssh3.cloudapp.net" and select
"SSH => Auth" give path to file "myPrivateKey.ppk"
generated in step 7 as value for "Private Key file for authentication"