Add an ssh user with key to an Amazon EC2 instance
First you need to create a pair of keys on your local machine (replace “user” with your chosen username):
ssh-keygen -b 1024 -f user -t dsa
This will create 2 files: user (private key), user.pub (public key). Now copy the public key file to a temporary place on your instance:
scp -i root *.pub ec2-your-instance-name.compute.amazonaws.com:/tmp
Log in to the instance as root. For each user you are creating, add the user to your instance with the
sudo adduser user
For simplicity’s sake, use the same “user” name as you did for key generation. Now we need to place the key into their ssh authorized keys file (replacing “user” with the username you chose earlier)
sudo mkdir ~user/.ssh
sudo cat /tmp/user.pub >> ~user/.ssh/authorized_keys
sudo chmod 700 ~user/.ssh
sudo chmod 600 ~user/.ssh/authorized_keys
sudo chown user:user ~user/.ssh
sudo chown user:user ~user/.ssh/authorized_keys
Now log in:
ssh -i ~/.ssh/user -l user ec2-your-instance-name.compute.amazonaws.com
To add your new user to the sudoers list:
sudo adduser user sudo
Don’t forget, that you probably want to delete an old user:
sudo userdel -r olduser