我有从Amazon EC2的服务器克隆一个Git仓库一个奇怪的问题。 它的工作原理没有上运行Ubuntu 12.04我的一台计算机的任何问题,而在使用12.10另一个它给了我一个错误:
ssh: Could not resolve hostname ec2server: Name or service not known
fatal: The remote end hung up unexpectedly
这就像它不承认我的配置文件。 我用下面的git命令克隆:
sudo git clone ec2server:/var/www/project.git
要么
sudo git clone ec2xxx.compute-1.amazonaws.com:/var/www/project.git
这两个配置文件是两台计算机上相同,在〜/ SSH具有以下内容:
Host ec2server
Hostname ec2XXX.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/mykey.pem
如果我与实际地址我收到以下错误替代ec2server:
Cloning into 'project'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
提前致谢。
它通常是一个权限问题。
该chmod
在您的配置文件的父目录可能是您的两台计算机之间的不同。
(我说的不是仅仅眼前的父目录.ssh
,而且所有的父目录)
请参阅“ Git的SSH身份验证 ”,但也知道,如果任何父目录是可写的组或世界,SSH将无法正常工作。
还需要注意的是你的第二个命令是不对的,而应该是:
git clone ubuntu@ec2xxx.compute-1.amazonaws.com/var/www/project.git
没有“ :
”(A“ :
”是指使用一个config
文件,用一个scp
样语法)
如果您有它才能发挥作用~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
虽然。
如果你有mykey.pem,那么你需要一个config
SSH的文件知道在哪里是你的公钥和私钥,这不仅意味着这可以工作:
git clone ec2server:/var/www/project.git
另外一个焯芬(后此线程和这个论坛 )是检查是否有任何DNS / DHCP的问题(有点像“ 与动态DNS背后的git工作 ”)。
Host ec2server
Hostname 1xx.xxx.xxx.xxx # ip address of ec2XXX.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/mykey.pem
最近,我不得不重新安装的举行的工作配置的系统,我还没有成功地复制它,所以它不是关于Linux版本(很可能)。 我设法做,是我设法用提到原剧本到库克隆到我的主目录。 这正确地拿起了名,但如果我导航到在/ var / WWW,我在做之前,它只是给了我同样的错误:没有找到能ec2server ...。 所以我想这个问题已经做的权限+指令组合的东西。 如果任何人都可以计算出来如何使它工作,我将迎来他的响应,一个正确的答案,在此之前我标志着我一样正确的,因为这是最接近正确的。
UPDATE
我想通了什么问题:我不得不改变在/ var / WWW文件夹的权限,以便能够克隆到该目录中。 现在是777(仅用于开发在本地计算机上)。