I am working with some Amazon EC2 servers that are up and running, and I need to SSH into the servers. I don't have any keys that were generated when the servers were first set up (someone else did it long before I got here). Can I still get into the servers without the key files?
FWIW I've tried a lot of things to SSH into the box so far, including generating new key pairs in the EC2 dashboard, and nothing seems to be working. This Amazon AWS support post and this answer seem to indicate that I'm out of luck unless I want to make an AMI of my current server and then use it to instantiate a whole new EC2 server instance (just to get the .pem file generated at that time). Is that really the only way I can get into the box at this point?!
In short: Yes, you can, but not without some work.
You'll need to do the following:
(For these steps, assume that the machine you're having trouble connecting to is called server-01.)
First, before starting these steps, take a snapshot of your server.
/
) EBS volume from server-01, and attach it to server-02 as, say/dev/sdb
.$ mkdir /mnt/temp && mount /dev/sdb /mnt/temp
. This will mount server-01's root partition within the (temporary) server-02.$ vi /home/<user>/.ssh/authorized_keys
and copy/paste in your public key. When you've done that, save and close the file.$ cd / && umount /mnt/temp
to umount server-01's root partition from server-02.Just a tip before anyone tries EEAA's answer,
If you have not run the
iptables save
oriptables-save
command to save your configurations, then just restart the server. Citing this answer on AskUbuntu, I learnt thatiptables
saves your configurations in the RAM itself unless you explicitly save it to the configuration files.EC2 instances can be easily rebooted from the EC2 Dashboard or
aws-cli