zengr zengr - 1 month ago 20
Git Question

How to push to git on EC2

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 username@11.111.11.11


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
user.email=my_email_addreess@gmail.com
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

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