Access EC2 without private key

Please help!!

I hired someone to write code for my iPhone app that allows me to send information to a MySQL database and to retrieve that information using JSON objects.  Long story short, he's gone and I have no contact with him and the job is incomplete though almost 90% finished.  Basically, I have the username and password to the AWS account (since I made it) but I need to get that code he wrote from AWS somehow, I'm assuming using SSH, though I don't have the 'private key' (the thing you download when you create a key pair), for as stated previously, I have absolutely no contact to this guy at this point.  

My question is - if I hire someone else to finish the job, will they be able to have access to what the first guy already did?  Please keep in mind: all I have is the username and password to the AWS account and control panel which provides me with a lot of information, but I'm afraid that without the 'private key' I, and nobody else, can get into that EC2 instance...

Please help! And thank you so, so much!
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Shalom CarmelCTOCommented:
You have a real problem.
When a linux server is running, you need either  user/password or  user/private key combinations in order to log in.
From your questions, I assume that you have neither.
Since we do not have a real server, we can't boot from CD and mount the disk to plant a new key, and you are basically stuck. Maybe AWS support can help you out, as they have monitoring and management tools installed on the server.

However, not all is hopeless.
Did the developer bundle the server into a private AMI? If he did, then the following procedure might work.
Developers do not usually bother to shut down the internal AWS services :)
* Create a new SSH keypair. Save the private key!!!
* Start a fresh EC2 instance from the private AMI. Select the new keypair to be used during startup.
The AWS startup service should add your new public key to the "authorized_keys" file in root's directory.
Use your favorite SSH client to connect to the new instance with user "root" and the private key you remembered to save.
In case you use Putty on windows, use the PuttyGen.exe tool to convert your private key to a Putty compatible format.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
scubasteve8708Author Commented:
Thank you so much for the response!  

So how do I find if the developer bundled the server into a private AMI?  I have decent technical experience with web programming but I've never dealt with AWS or SSH and the like, but I'm hoping I can figure it out.
Shalom CarmelCTOCommented:
Open the AWS console , in the Images part

Filter by "Owned by me".
See the attached image

scubasteve8708Author Commented:
Thank you so, so very much.  It is now clear there are no AMIs installed, I guess I'm out of luck...
scubasteve8708Author Commented:
Thank you dearly
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Apache Web Server

From novice to tech pro — start learning today.