I would like to know how to connect over ssh using a .pem file to any server.
Currently I'm executing the following command:
ssh What option should I use?
07 Answers
Use the -i option:
ssh -i mykey.pem As noted in this answer, this file needs to have correct permissions set. The ssh man page says:
ssh will simply ignore a private key file if it is accessible by others.
You can change the permissions with this command:
chmod go= mykey.pem That is, set permissions for group and others equal to the empty list of permissions.
3chmod 400 mykey.pem ssh -i mykey.pem Will connect you over ssh using a .pem file to any server.
1For AWS if the user is ubuntu use the following to connect to remote server.
chmod 400 mykey.pem ssh -i mykey.pem ubuntu@your-ip To connect from Terminal to AWS AMI:
chmod 400 mykey.pem ssh -i mykey.pem You can connect to a AWS ec-2 instance using the following commands.
chmod 400 mykey.pem ssh -i mykey.pem username@your-ip by default the machine name usually be like ubuntu since usually ubuntu machine is used as a server so the following command will work in that case.
ssh -i mykey.pem ubuntu@your-ip If you still got error messages like:
Received disconnect from 34.219.50.0 port 22:2: Too many authentication failures. Disconnected from 34.219.50.0 port 22
- Edit your ssh config located at
~/.ssh/configand add new record at the end
Host mydomain.com User ubuntu IdentityFile /home/you/path-to-pem/key.pem IdentitiesOnly yes - Call short command:
ssh mydomain.com
what resolved it for me was to run: sudo chown $USER: {.pem_file}