How to push to git on EC2

zengr picture zengr · Jan 8, 2011 · Viewed 57.9k times · Source

I am trying to follow this instruction. I have a local git repo and when I do a git push, I need the repo to be pushed to my EC2 instance.

But, in the above tutorial, when I do a git push origin master, I get Permission denied (publickey) error because I did not specify the identity file.

Say, I login to EC2 like this: ssh -i my_key.pem [email protected]

So, can I do something similar here to: git -i my_key.pem push origin master or set the identity file in .git/config

So, how can I set it up?

Update: Output of git config -l

user.name=my name
[email protected]
github.user=userid
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=ec2_id@my_e2_ip_address:express_app
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

Update (from @Jon's comment):

If you have your key in an odd path just run ssh-add /private/key/path. This worked for me.

Answer

realgt picture realgt · Apr 13, 2011

To copy your local ssh key to amazon try this

cat ~/.ssh/id_?sa.pub | ssh -i amazon-generated-key.pem ec2-user@amazon-instance-public-dns "cat >> .ssh/authorized_keys"

replacing the names of the key and amazon ec2 public dns, of course.

you will then be able to setup your remote on amazon