After logging into the ElasticHosts console, select Add followed by Server under Virtual Machines.
In the new modal, define the server spec as required for the solution to be installed.
For Type select Pre-installed system, for Image select Ubuntu 16.04 LTS (or newer). Click Add when done.
Like AWS, new servers are created with a dynamic IP. As we want to permanently assign a hostname to this server for web access to the solution, we’ll assign a static IP. If one isn’t already assigned to the account, create a new static IP from the Add menu.
Once a static IP is available, enter the newly-created (and still powered off) server settings by clicking the “cog” icon under the power button. This will open a new page.
Under Network select the static IP from the dropdown menu and click the relevant IP under Allowed IPs.
Now would also be a good time to edit the Firewall settings in order to block unwanted traffic on a network level before reaching the VM. For most solutions we only need ports 22 (SSH), 80 (HTTP) and 443 (HTTPS) which can be input in Open ports. As this is a paid add-on, an alternative would be to configure
firewalld on the Ubuntu server at a later time.
Click Save and Start to boot up the server for the first time.
At this point it would be a good idea to create a DNS entry for the server using the DNS provider for the domain that will resolve to this VM.
After clicking Start the button will change to Connect. On clicking this, a new window will open with server connection details:
Using an SSH client, SSH to toor@ip and use the VNC/toor password provided.
As soon as it’s convenient to do so, disable the root/toor account from logging in over SSH. A quick, simple way to do this in Ubuntu is to disable the account as follows from a different sudo-enabled account (which would need to be created first):
sudo passwd root -l
Furthermore, consider switching from password to key authentication as soon as possible.