在AWS EC2实例上的dockerfile中作为主机和私有git存储库运行git clone时,主机验证失败错误

mun*_*ish 5 git ssh amazon-ec2 docker dockerfile

我使用AWS ec2实例作为私有git存储库.此实例还用于运行Dockerfile和docker文件尝试从此私有存储库中检出代码.我的基本设置是根据https://alvinabad.wordpress.com/2013/03/23/how-to-specify-an-ssh-key-file-with-the-git-command/ option 2 完成的.但是,当我运行我的docker build命令时:

$ sudo docker build -t"spring-petclinic".

构建脚本在行停止:

RUN /root/.ssh/git.sh -i /root/.ssh/.pem clone ec2-user@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com:/ usr/local/git-回购/弹簧petclinic.git

并获得以下错误:

"克隆到'spring-petclinic'...主机密钥验证失败.致命:无法从远程存储库中读取.请确保您拥有正确的访问权限并且存储库已存在."

我通过谷歌搜索此类错误,类似的设置,但无法搜索.

请帮忙!!!

谢谢

Nat*_*rot 5

你看到的问题是它第一次连接到一个未知的主机,默认情况下SSH安全.如果以交互方式运行命令,系统会提示您将密钥添加到known_hosts文件中.

您可以将主机密钥添加到known_hosts文件中(更好),也StrictHostKeyChecking可以no在ssh配置中设置(更糟糕).

  • 感谢Nathaniel,我最终做了```RUN ssh-keyscan github.com >>/root/.ssh/known_hosts```,它们在dockerfile中自动执行你所描述的相同操作 (3认同)