2017-12-20 13 views
1

aus dem Bild microsoft/aspnetcore Docker starten konnte ich chocolatey installieren und dann chocolatey eine andere Software zu installieren, verwenden:SSH in einem Container Docker (Windows)

  • open-ssh
  • git

Jetzt möchte ich eine Repo von unserem Bitbucket Server klonen:

  • fügte ich die Bitbucket Server auf die known_hosts-Datei (und auch in den Server aus dem Behälter zu Vier-Augen-ssh'd)
  • ich meinen Bitbucket SSH-Schlüssel hinzugefügt, die ich habe erfolgreich auf meiner Maschine und erfolgreich von einem Ubuntu-Container
  • verwendet
  • ich habe eine config Datei in meinem Benutzer .ssh Verzeichnis git zu sagen, meinen sSH-Schlüssel

ich erwarten zu können, verwenden git clone ssh://[email protected]<host>/<path to repo> verwenden, aber dieser Befehl nicht immer mit dem folgenden Fehler:

fatal: Could not read from remote repository.

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

Ich habe dies in einem Ubuntu-Container mit dem folgenden Befehl zu arbeiten: ssh-agent sh -c 'ssh-add /home/bamboo/.ssh/id_rsa; git clone ssh://[email protected]<host>/<path to repo>', aber dieser Befehl scheint nichts auf dem Windows-Container. Ich bekomme nie ein Feedback von ssh-agent, so dass ich nicht sicher bin, ob Open-SSH überhaupt funktioniert oder ob es Probleme mit Open-SSH in Windows-Containern gibt. Ich bekomme Feedback von ssh-add sagen, dass mein Schlüssel erfolgreich hinzugefügt wurde, aber ich bin immer noch nicht in der Lage, meinen Git Repo zu klonen.

Hat es jemand in Windows-Containern erfolgreich geschafft? Es funktioniert auf meinem Windows-Rechner, aber ich benutze nicht Open-SSH, ich benutze die Git Bash-Tools, die nicht im Windows-Container funktionieren. Das ist alles sehr verwirrend, da sich alle Informationen zu diesem Thema auf Ubuntu-Container beziehen und die Auflösungen alle Unix-Befehle betreffen, die ich im Windows-Container nicht habe.

Eine weitere seltsame Sache, die ich ist bemerken, dass HTTP Klonen funktioniert auch nicht, stattdessen bekomme ich folgende Fehlermeldung:

error: failed to execute prompt script (exit code 66) fatal: could not read Password for ' http://(user)@(host) ': No error

+0

Überprüfen Sie all dies, wenn es in Windows Server Core vollständige Installation zuerst vor dem Versuch in Servercore-Container funktioniert –

+0

Ich habe gerade [dieses offene Github Problem] (https://github.com/git-for-windows/git/issues/1403), es hat einen Vorschlag, also werde ich das versuchen – riqitang

Antwort

1

ich ein wenig Hilfe aus dem Git für Windows Leute haben, die vorgeschlagen, dass ich die Verwendung ausführliche Flagge mit dem ssh Befehl, dh ssh -vvvvv <host>. Dies zeigte, dass die Config-Datei, die ich in .ssh Verzeichnis meines Benutzers hatte einige zusätzliche Berechtigungen hatte, durch eine Fehlermeldung angezeigt:

debug3: Bad permissions. Try removing permissions for user: S-1-5-11 on file C:\Users\ContainerAdministrator/.ssh/config

Mit dem icacls Dienstprogramm, das ich war in der Lage, diese Berechtigungen zu entfernen, die die Konfigurationsdatei erlaubt zu sein benutzt.

Verwandte Themen