I created an ec2 instance with an Ubuntu 16.04 AMI. I created a sudo user for this AMI with:
sudo adduser myuser
sudo usermod -aG sudo myuser
Then I attempted to give the user ssh access with an rsa keypair that I already had. I created an .ssh directory for the new user:
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
I copied and pasted my public key into 'authorized_keys'. Then I exited ec2 and tested my connection with:
cd ~/.ssh
ssh -i "mypem.pem" myuser@ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com
I got an error that read 'Access denied (public key)'
So I scrapped the user and created another user. This time a created the 'authorized_keys' file with nano instead of Vim and it worked.
Anyone experience this?
Best Answer
Probably you pasted it wrong.
ssh-rsa
or withssh-ed25519
?before pasting anything in vim, you should use
:set paste
, as it switches off any possible active autocompletion/autoindent/... macros.Another thing is, that you wrote
mykey.pem
, which is the usual extension for openssl files, not ssh-keys. Are you sure, you used theid_rsa.pub
/id_ed25519.pub
as ssh-pubkey?