无法在 Windows 容器中克隆基于 ssh 的 GIT URI

无法在 Windows 容器中克隆基于 ssh 的 GIT URI

不确定发生了什么,但直到上周,我都能够通过基于dotnet-framework-docker容器的 Windows 容器中的基于 SSH 的 URI 克隆 git 存储库。现在,突然没有任何警告,当我去克隆 - 即使是公共存储库,我也收到此错误:

C:\>git clone [email protected]:atrauzzi/praxis.git
git clone [email protected]:atrauzzi/praxis.git
Cloning into 'praxis'...
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

这是一个Dockerfile可以用来重现该问题的简单方法:

FROM microsoft/dotnet-framework
SHELL ["powershell"]

# Install Git
RUN New-Item -ItemType Directory -Force -Path 'c:/git';
RUN Invoke-WebRequest "https://github.com/git-for-windows/git/releases/download/v2.15.1.windows.1/Git-2.15.1-64-bit.exe" -OutFile "/git-installer.exe" -UseBasicParsing;
RUN Start-Process -FilePath C:/git-installer.exe -ArgumentList '/VERYSILENT', '/NORESTART', '/NOCANCEL', '/SP-', '/DIR="c:/git"' -PassThru | Wait-Process;
RUN rm /git-installer.exe;

目前我不确定是什么原因造成的。唯一可疑的是,如果我尝试运行基于 mingw 的ssh.exe,它会打印一个空白行然后退出。

我的一些怀疑显然与 mingw 以及我在容器中运行事物的事实有关。

抄送https://github.com/Microsoft/dotnet-framework-docker/issues/61

答案1

这只是一个猜测 - 但我怀疑 dotnet 框架镜像曾经有 GitHub 的 SSH 密钥... 也就是说,调查https://github.com/git-for-windows/git/issues/1403作为根本/理想的解决办法。

相关内容