You need to create a key pair first - do that using your EC2 console. Then use your private key to SSH into the server (the username is ec2-user) using a SSH client of your choice.
Once in, you can issue a sudo su - to gain root if you want (note: you cant log in as root directly).
You should see the list of ec2-instances, if you don't see any, then please create one.
Click on the EC2 machine and note down the Public DNS address.
Open your Terminal (in Linux) and type the following command
ssh -i /path/to/private-key root@<ec2-public-dns-address> - the root username has been avoided in the latest releases, based on your distribution select ec2-user or ubuntu as your username.
Not logging in as the correct user for you OS Distro could be the issue. For certain new AMI, the username may not be "ubuntu", but "ec2-user". For Amazon Linux, for instance I believe the user is "ec2-user". Eric Hammond gives examples here: http://alestic.com/2014/01/ec2-ssh-username
If you have the wrong AMI, you might just want to restart the machine altogether so you have uniformity amongst your clusters. If this is your problem, you'll probably want the same OS Distro's at least for your linux boxes.
Doing what is suggested in all these answers is not enough. Against each instance you see a security group. When you launch a new instance, you will have this thing set to default. You need to edit the security group and add the ssh port it. Later you need to add the 8080, 8443, 80, 443 ports also when you want to host your website.
I Accepted AWS offer to use the default security groups which included 'All Trafic' ports.
And, after many and many times trying to connect on my new ec2 instance, I just realized that I should edit my used security group and manually add to inbound and outbound the 22 port ( ssh ) !
Choose Launch Instance and follow wizard by selecting the right image (Ubuntu), instance type, configuring VPC network and Subnet, storage and allowing SSH access in Security Groups. Then Launch.
For the first time, you probably need to setup the key pair and assign it to the instance. You can also create key pair in Key Pairs. Once created, download the PEM file and keep it in a safe place.
Once the instance is launched, wait until the instance is Initialized and running.
To access the instance via SSH, run:
Connect to Linux box by specifying your PEM file, e.g.
ssh -i "file.pem" ubuntu@x.x.x.x
Make sure your PEM file has 600 permission (chmod 600 file.pem).
Troubleshooting
If you're running VPC instance, and your security group is correct (with the right rules) and it still doesn't work, in VPC section check your subnet which should be attached to your VPC (both used by your instance) and setup new rule in Route Table that has 0.0.0.0/0 as Destination and your Internet Gateway as Target.
Inside the file ~/.ssh/config add the following lines, at the top of the file
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
Hostname take IP or link of server, User take username of server and Identity file is file downloaded from AWS when you created instance.
Just Run the following command in terminal
ssh AWS
and enjoy it!
Note: To navigate into .ssh folder. First press Ctrl + H in home folder to display all the hidden files and finally cd .ssh