Its Day 26 of my 100 Days of Cloud Journey, and today I’m taking Day 1 of the Cloudskills.io Linux Cloud Engineer Bootcamp
This is being run over 4 Fridays by Mike Pfieffer and the folks over at Cloudskills.io, and is focused on the following topics:
- Web Hosting
Now I must admit, I’m late getting to this one (sorry Mike….). The bootcamp livestream started on November 12th and continued last Friday (November 19th). Quick break for Thanksgiving, then back on December 3rd and 10th. However, you can sign up for this at any time to watch the lectures to your own pace and get access to the Lab Exercises on demand at this link:
Week One focused on the steps to create an Ubuntu VM in Azure, installing a WebServer, and then scripting that installation into a file that can be stored on Blob Storage to make it reusable when deploying additional Linux VMs.
I’m not going to divulge too many details on the content, but there were some key takeaways for me.
SSH Key Pairs
When we created Windows VMs in previous posts, the only option available is to create the VM using the Username/Password for authentication.
With Linux VMs, we have a few options we can use for authentication:
- Username/Password – we will not be allowed to use “root” as the username
- SSH Public Key – this is the more secure method. This generates a SSH Public/Private Key Pair that can be used for authentication
Once the Key Pair is generated, you are prompted to download the Private Key as a .pem file.
The Public Key is stored in Azure, and the private key is downloaded and stored on your own machine. IN order to connect to the machine, run the following command:
ssh -i <path to the .pem file> username@<ipaddress of the VM>
Obviously from a security perspective, this takes the username/password out of the authentication process and makes the machine less vulnerable to a brute force password attack.
You can also use existing keys or upload keys to Azure for use in the Key Pair process.
So our VM is up and running. And lets say we want to install an application on the VM. So on the Ubuntu command line, we would run:
sudo apt-get install <application-name>
That’s fine if we need to do this for a single VM but lets say we need to do it with multiple. To do this, we can create a script and place this in a Blob Storage container in the same Resource Group as our VM.
Then, next time we need to deploy a VM and have the requirement for that application, we can call the script from the “Advanced” tab of the VM Creation process and automatically install the app during the VM creation process.
That’s all for this post – I’ll update as I go through the remaining weeks of the Bootcamp, but to learn more and go through the full content of lectures and labs, sign up at the link above.
Hope you enjoyed this post, until next time!