来自 docker 的 git 主机密钥验证失败

For*_*ler 2 unix git docker

我有一个 docker 容器,它的工作是将文件推送到 git 存储库。

它拒绝连接到带有错误的 git 存储库。

Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用

RUN mkdir ~/.ssh
ADD known_hosts ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)

但仍然得到同样的错误。ssh-keygen 不返回任何输出,并且

'GIT_SSH_COMMAND="ssh -o \'UserKnownHostsFile=/dev/null\' -i ./ssh_id" git push origin master'
Run Code Online (Sandbox Code Playgroud)

也没有修好。如何禁用主机密钥验证以便我不再看到此错误?

Von*_*onC 6

添加known_hosts是不够的。

您还需要添加~/.ssh/id_rsa到您的 docker 映像中,以便 ssh 连接有机会成功。
并且您需要确保一切都处于600模式中(否则 ssh 将拒绝考虑该私钥):请参阅“ Git SSH 身份验证”。

尝试一个RUN ssh -Tv git@github.comjust for testing:这会告诉你known_host这里的问题是还是关键。