I love working from the console and aws-cli could be your best friend. Guide how to install this on you system can be found on [Getting Set Up with the AWS Command Line Interface] (http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html).
Once you have finished all the step and can execute aws ec2 describe-instances from your favorit console your are ready!
aws ec2 describe-instances
-------------------
|DescribeInstances|
+-----------------+
First step is to generate a SSH key, you can use multiple keys depending on needs.
ssh-keygen -t rsa -f ~/.ssh/aws-<NAME_OF_KEY>-ec2 -b 4096
Next step is to upload your SSH key to your AWS.
aws ec2 import-key-pair --key-name aws-<NAME_OF_KEY>-ec2-key --public-key-material "$(cat ~/.ssh/aws-<NAME_OF_KEY>-ec2.pub)”
Now its time to crete a security group and some basic rules. In my case I only want to allow SSH traffic from a know WAN IP.
aws ec2 create-security-group --group-name SSHRule --description "Inbound SSH from know IP address"
aws ec2 authorize-security-group-ingress --group-name SSHRule --cidr <WAN_IP>/32 --protocol tcp --port 22
I use Frankfurt DataCenter and you can find images on Amazon Machine Image (AMI). In this example I’m using Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-accff2b1 on a micro hardware model.
aws ec2 run-instances --image-id ami-accff2b1 --key-name aws-<NAME_OF_KEY>-ec2-key --instance-type t2.micro --security-groups SSHRule
Machine will now be build and external IP address associated with the host. You can find the PublicIp address greping the describe-instances.
aws ec2 describe-instances | grep PublicIp
||| PublicIpAddress | 52.XX.XX.83 |||
||||| PublicIp | 52.XX.XX.83 |||||
|||||| PublicIp | 52.XX.XX.83
Now you are ready to SSH to your machine.
ssh -i ~/.ssh/aws-<NAME_OF_KEY>-ec2 -l ubuntu 52.XX.XX.185