Windows

無法在 Windows 容器中複製基於 ssh 的 GIT URI

  • December 13, 2017

不知道發生了什麼,但直到上週,我已經能夠在基於容器的 Windows 容器中通過基於 SSH 的 URI 複製 git 儲存庫dotnet-framework-docker。現在,突然沒有警告,當我去複製時——甚至是公共儲存庫,我得到了這個錯誤:

C:\>git clone git@github.com:atrauzzi/praxis.git
git clone git@github.com: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 based ssh.exe,它會列印一個空行然後退出。

我的一些懷疑顯然是圍繞 mingw 以及我在容器中執行的事實。

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

這只是一個猜測 - 但我懷疑 dotnet 框架圖像曾經有 GitHub 的 SSH 密鑰……也就是說查看https://github.com/git-for-windows/git/issues/1403作為根/理想的修復。

引用自:https://serverfault.com/questions/887752