In part one of this series, I described how to get the basic distribution copied down from AWS to a local partition within a virtualized environment.
For part two of this series, I described putting a working kernel and kernel tool building environment on the virtual disk created during part 1, and boot it up for the first time.
You need to boot this VM into single user mode so we can add a password to the ec2-user so we can configure the instance. This is explained all over the Internet so I am going to skip this piece of the documentation.
Since we are building this for vagrant, we need to allow vagrant to use sudo without any password prompts.
Log in as the ec2-user and become root:
sudo su - root
Create user, set the password the same as the username (required):
adduser vagrant passwd vagrant
The base install of Amazon Linux has the OpenSSH server package already installed and set to start-up on boot but we need to change a couple of items to allow vagrant to bring the instance up and configure it.
Now we need to allow the user vagrant to use sudo without a password.
visudo
and add the following at the end:
Defaults:vagrant !requiretty #Defaults !visiblepw Defaults env_keep = "SSH_AUTH_SOCK" vagrant ALL=NOPASSWD: ALL
Now we need to edit the SSH daemon configuration so that the vagrant user can automatically log in via SSH public key.
vi /etc/ssh/sshd_config
Add or change lines in the file above with the information below, as needed.
Port 22 PubKeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys PermitEmptyPasswords no PasswordAuthentication no
Now, log out completely and log in as user vagrant (simplifies the next step).
Install the SSH key needed for vagrant to automatically provision the server. This very simple to do, and required.
mkdir -p /home/vagrant/.ssh wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub \ -O /home/vagrant/.ssh/authorized_keys chmod 700 /home/vagrant/.ssh chmod 600 /home/vagrant/.ssh/authorized_keys
Vagrant requires the installation of the virtualization tools to bring the instance up. As this series of posts is using VMware Fusion the steps required is very simple.
If you follow this exactly then you will be testing your sudo configuration.
Go to ‘Virtual Machine’ and select the “Install VMware Tolls’ menu item and follow these steps:
sudo su - root mount /dev/cdrom /mnt tar vxzf /mnt/*.tar.gz -C /tmp umount /mnt cd /tmp/vmware-tools-distrib ./vmware-install.pl -d
The ‘-d’ in the command line means use defaults, which works great for what we are doing. This will configure and install the tools and required kernel modules.
When complete, just reboot, log in as vagrant and do your first tests to make sure everything is working.
In part 4 I will explain how to take this VMware Fusion image and turn it into a vagrant box ready for install.
You can support this work by sending BTC to this Bitcoin address.