我可以成功通过ssh连接到我的ec2实例:
ssh -i amazon_ec2_123.pem ubuntu@xx.xx.xx.xxx
其中xx.xx.xx.xxx
是我的弹性IP地址。然后我创建了一个名为my_project.git
的文件夹,并在其中运行了git init --bare
。
然后我这样做了:
cat ~/.ssh/id_dsa.pub | ssh -i amazon_ec2_123.pem ubuntu@xx.xx.xx.xxx "cat >> .ssh/authorized_keys"
在项目源目录的本地机器上,我做了这个:
git remote add ec2 ssh://ubuntu@xx.xx.xx.xxx:/home/ubuntu/my_project.git
但是,当我试图推送回购时,我收到错误:
ssh: Could not resolve hostname xx.xx.xx.xxx:: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我做错了什么?
答案 0 :(得分:1)
首先,确保您能够使用新的ssh密钥登录EC2实例。
一旦确定ssh连接本身有效,那么,在裸存储库中运行
cd git_repo.git
mv hooks/post-update.sample hooks/post-update
chmod a+x hooks/post-update
git update-server-info
完成后,您可以添加远程
git remote add ec2 ubuntu@xx.xx.xx.xxx:/home/ubuntu/my_project.git
它应该有效。您可以在git-scm
上阅读有关在服务器上设置git的更多信息