无法在userdata部分中以ec2-user身份进行git clone

时间:2019-02-22 20:17:19

标签: linux github amazon-ec2 amazon-cloudformation autoscaling

我在cloudformation模板中设置了一个自动扩展组,该组旋转了一个ec2实例。在launchconfiguration的userdata部分中,我执行以下语句:

sudo -u ec2-user git clone https://github.com/...git

必须以ec2用户身份(而不是以root用户身份)运行它。在cloud-init-output.log中,出现以下错误: “严重:无法访问'https://github.com/...git/':无法解析主机:github.com;名称或服务未知”

关于如何以ec2-user身份运行它的任何建议吗?

2 个答案:

答案 0 :(得分:1)

您看到的错误消息是:

  

无法解析主机:github.com;名称或服务未知

这是网络连接问题。参见例如this相关的堆栈溢出答案。

您还提到:

  

我必须以ec2-user身份而不是root用户身份运行。

但是,您还没有说为什么,通常,没有理由不使用root用户从Github克隆代码。

如果必须以ec2-user身份运行命令,请尝试:

cd /home/ec2-user
su ec2-user -c "git clone https://github.com/...git"

如果您只需要root用户使用属于另一个用户的私钥:

GIT_SSH_COMMAND="ssh -i /home/ec2-user/.ssh/id_rsa" git clone git@github.com:....git

否则,只需以root用户身份通过​​HTTPS克隆代码即可正常工作(如果您解决了网络问题)。

答案 1 :(得分:0)

对我来说似乎是网络问题。您需要确保您的ec2能够连接到Internet。尝试直接从CLI运行git clone命令。