Microsoft Azure is not just about Windows, Microsoft Azure also supports Linux workloads. Spinning up Linux VMs in Microsoft’s fabric offers alternative options for open-source technologies with Microsoft Azure services.
Microsoft also provides Azure Cross-Platform Command-Line Interface (X-Plat CLI) which is a set of Open-Source, Cross-Platform commands for managing Microsoft Azure platform. X-Plat CLI has few top-level commands which correspond to different set of Microsoft Azure features. Typing “azure” will list each of the sub commands.
Deploying Linux VM from Microsoft Azure Management Portal
This blog provides Step by Step instructions via Linux VM. It is quite straight forward deploying secure Linux VM by providing a PEM Certificate associated with Private Key. With this Certificate it is possible to create “Password-less” Linux VM when using Azure Management Portal “From Gallery” functionality or Command Line Tool.
Below instructions will provide Step-by-Step guide how to generate key pair with Git. OpenSSL parameter is used on this occasion.
- Install and launch Git Bash for Windows computer or launch Terminal for OSX
Use command below to generate a key pair:
Fill in some information for the key pair
Once it is done, save the .pem file – this is the public key to be “attached” to new Windows Azure VM. Store the “.key” file safely. For Linux system or Mac OSX command chmod 0600 *.key can be leveraged to secure it from unwanted access.
Create new Azure Linux VM by clicking New button on the bottom left Azure Management Portal and select Compute > Virtual Machine > From Gallery > Pick the Linux OS (Recommended to create the Affinity Group, Storage Account and Virtual Network) > Ensure not to check the “Provide a Password” checkbox, instead upload the Certificate. This is the .pem certificate above. Simply follow the rest of deployment wizard to complete the deployment.
Connecting to Linux VM
SSH Client is needed to connect to Linux VM:
- Linux: Use SSH
- Mac OSX: Use SSH built-in the Terminal App
- Windows: Use SSH built-in Git Bash shell or Download and use Putty
Below is sample SSH command, simply by passing various parameters:
$ssh –i ./kloudadmin.key firstname.lastname@example.org –p22
- ssh = command we use to connect to Linux VM
- -i ./kloudadmin.key = pointing to private .key file associated .pem used for Linux VM
- email@example.com = Linux VM user name @ VM DNS name
- -p 22 = The port to connect to, 22 is the default endpoint (the endpoint can be specified)
Installing Cross Platform Command Line (X-Plat CLI)
There are few ways to install the X-Plat CLI; using installer packages for Windows and OS X or combination of Node.js and NPM for Linux.
Node.js and npm via nave
Nave is a tool for handling node.js installations. Nave is to node.js just like RVM is to Ruby. It pulls directly from nodejs.org
Follow below instructions:
Note: # = explanation; $ command = execute on Linux VM
|$ sudo su –#install node.js through nave
$ wget https://raw.github.com/isaacs/nave/master/nave.sh
$ chmod +x nave.sh
$ ./nave.sh install 0.10.15
$ ./nave.sh use 0.10.15
$ node –v
$ curl -s https://npmjs.org/install.sh > npm-install-$$.sh
Microsoft Azure X-Plat CLI
use npm command to install Azure X-Plat CLI
|#install X-Plat CLI
$ npm install azure-cli -g
Using Microsoft Azure X-Plat CLI
Type $azure to test and show sub-commands
Microsoft Azure Publish Settings File
MIcrosoft Azure Publish Settings File needs to be downloaded and imported in order to create resources on related subscription.
$azure account download
$azure account import “path to the publishing file”
|Note: You need a browser to download the publish settings file or You can download the file from local machine and upload it to Azure Linux VM
Example Azure Account Import: $ azure account import My.publishsettings
Click here for more details info how to use Microsoft Azure X-Plat CLI