Vscode: Git: Unterstützt Git mit privatem Schlüsselpasswort

Erstellt am 13. Okt. 2016  ·  229Kommentare  ·  Quelle: microsoft/vscode

  • VSCode-Version: 1.6.0
  • Festschreiben von e52fb0bc87e6f5c8f144e172639891d8d8c9aa55
  • Datum 2016-10-10T18: 37: 40.189Z
  • Shell 1.3.7
  • Renderer 52.0.2743.82
  • Knoten 6.5.0
  • Betriebssystemversion: Windows 7 Pro

Schritte zum Reproduzieren:

  1. Erstellen Sie ein öffentlich-privates Schlüsselpaar mit Kennwortschutz
  2. füge sie deinem Github-Konto hinzu
  3. Richten Sie git ein, um die private Schlüsseldatei zu verwenden
  4. versuche etwas mit git zu pushen

Ergebnis:

git pull
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
feature-request git help wanted

Hilfreichster Kommentar

Eine Problemumgehung für Windows 10:

  1. Lassen Sie Git das mit Windows gelieferte OpenSSH anstelle des mit Git gelieferten verwenden.
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
  2. Stellen Sie den SSH-Agent-Dienst (nicht den mit git gelieferten) so ein, dass er automatisch ausgeführt wird.
    Öffnen Sie den Task-Manager auf der Registerkarte Dienste und klicken Sie auf Dienste öffnen.
    Suchen Sie den OpenSSH-Authentifizierungsagenten, öffnen Sie die Eigenschaften, setzen Sie den Starttyp auf Automatisch und klicken Sie auf OK.
    Starten Sie auch den Dienst oder starten Sie Ihren Computer neu.
  3. Fügen Sie dem Agenten Ihren passwortgeschützten Schlüssel hinzu.
    ssh-add
    Es sollte automatisch Schlüssel aufnehmen, die in C: \ Users \% USERNAME% \. Ssh gespeichert sind. Dort erstellt ssh-keygen sie.
    Geben Sie an der Eingabeaufforderung Ihre Passwörter ein.

Hinweis: Wenn Sie bei der Installation von Git für Windows die Option zum Hinzufügen von Bash-Befehlen zu PATH ausgewählt haben, zeigt der Befehl ssh-add möglicherweise auf die falsche ausführbare Datei. In diesem Fall können Sie den enthaltenen manuell ausführen, um Ihren Schlüssel zum Agenten hinzuzufügen:
C:\Windows\System32\OpenSSH\ssh-add.exe

Jetzt wird der integrierte OpenSSH-Authentifizierungsagent beim Start mit entsperrtem kennwortgeschützten Schlüssel ausgeführt, und Git verwendet Windows OpenSSH anstelle seines eigenen. Sie müssen also nicht jedes Mal Ihr Kennwort eingeben, den ssh-Agenten nicht manuell starten und VS-Code nicht über die Befehlszeile starten.

Alle 229 Kommentare

Funktioniert es über die Kommandozeile? Wie genau richten Sie git für die Verwendung der privaten Schlüsseldatei ein?

Es funktioniert über die Kommandozeile. Eigentlich richte ich Git über Tortoise Git ein - also denke ich, dass alles richtig gemacht ist.

image

Wie starte ich die Kommandozeile? Welche Kommandozeile?

Ich benutze Git Bash (MINGW64) unter Windows.

Recht. Daher müssen wir möglicherweise auch eine git.sshkey -Einstellung hinzufügen, z. B. Tortoise.

Unter Windows 10 Git 2.10.1.

Hatte Probleme mit der Verwendung von git auf vscode mit meinem Produktionsserver, daher habe ich einen Testserver erstellt.
Zunächst mit einem passwortgeschützten Benutzer (keine Schlüssel) dieselben Fehler - keine Popups mit Eingabeaufforderung für Anmeldeinformationen oder ähnliches.
Mit dem Terminal in vscode oder einem beliebigen beliebigen cmd kann ich drücken, ziehen und es funktioniert - fragt nach dem Passwort. Mit vscode kann ich nur Commits vorbereiten. Ziehen, Drücken, Synchronisieren schlagen fehl, weil sie nicht nach dem Passwort fragen.

In der Produktion verwende ich einen passphrasengeschützten Schlüssel mit einem anderen 5-stelligen Port für ssh.
Außerdem habe ich ein paar verschiedene SSH-Schlüssel (einschließlich Git) auf einer Maschine ...

@joaomoreno Warum hast du es in den Rückstand verschoben?

Nur Prioritäten planen. Sie können jedoch versuchen, eine Pull-Anfrage zu stellen. 👍

Warten darauf 😉

Gibt es hierzu Neuigkeiten? Ich habe das gleiche Problem und es ist ziemlich nervig 😞

@joaomoreno Ich mache einen Stich. Es betrifft mich jetzt persönlich, da ich kürzlich zu schlüsselbasierter Sicherheit übergegangen bin.

Die Leute können hier meine Fortschritte verfolgen.

@ Hashhar Das ist großartig! 🍻 Lass es mich wissen, wenn du gegen Wände stößt.

@joaomoreno Ich habe nach Orten gesucht, die geändert werden müssen, und Folgendes gefunden:

Aktuelles Szenario:

  • Wenn ein SSH-Agent mit dem hinzugefügten Schlüssel ausgeführt wird, können Sie alle Vorgänge mit Ausnahme von clone ausführen (da node.url.parse () für SSH-URLs nicht funktioniert).
  • Wenn ssh-agent nicht alle git-Befehle ausführt, die Netzwerkaktivitäten beinhalten (Abrufen, Klonen, Drücken, Ziehen), schlagen fehl. Der Fehler wird von git.exe generiert.

Vorgeschlagenen Änderungen:

  • [x] Nicht erforderlich, siehe nächster Kommentar. Fügen Sie url.parse () (wo?) eine Überladung hinzu, um sicherzustellen, dass auch SSH-URLs erkannt werden.
  • [x] Fügen Sie einen Konfigurationsschlüssel hinzu, git.sshkey (Speicherort des privaten Schlüssels (derzeit auf openssh-Schlüssel beschränkt - da git diese nativ unterstützt, wird später nach Kittschlüsseln gesucht)).
  • [] Fügen Sie eine Bedingung hinzu, bei der die Git-Erweiterung initialisiert wird, um einen SSH-Agenten zu starten (falls einer nicht ausgeführt wird), und fügen Sie den Schlüssel hinzu. Muss irgendwie (Quickpick?) Den Benutzer bitten, seine Passphrase einzugeben. ( Töten wir den Agenten, wenn wir vscode schließen? )

Es sind keine weiteren Änderungen erforderlich (nach dem, was ich derzeit gesehen habe), da die Kommunikation mit dem Git-Endpunkt von git.exe und nicht von vscode übernommen wird.

Okay, mein schlechtes über das URL-Parsing. Scheint, als würde der Knoten URLs wie git+ssh://[email protected]:hashhar/vscode oder ssh://[email protected]:hashhar/vscode akzeptieren, aber der Teil ssh muss explizit erwähnt werden.

Was soll ich dagegen tun, sollte vscode ssh einfach magisch vor URLs stellen, die dem Format [email protected]:username/repo . Oder lautlos scheitern? (Dies erfordert jedoch immer noch die Ausführung von ssh-agent).

Ping @joaomoreno. Wenn Sie die Zeit finden, kommentieren Sie die oben genannten Probleme, die ich habe. Ich habe derzeit einen Proof of Concept gehackt, indem ich den ssh-agent gegen einen privaten Schlüssel gestartet habe. Es funktioniert, aber es wird noch etwas Politur benötigt.

@ Hashhar Entschuldigung für die Verzögerung ... Ich bin im Moment ziemlich beschäftigt. Fühlen Sie sich frei, die PR zu erstellen und die Diskussion dorthin zu verschieben. Wir werden versuchen, sie für März zu veröffentlichen.

Es reicht nicht aus, nur ssh-agent zu starten, sondern Sie müssen auch die Umgebungsvariablen SSH_AGENT_PID und SSH_AUTH_SOCK hinzufügen, damit Git weiß, wo er suchen muss.

Sie müssen dies entweder irgendwo speichern, damit es zwischen Neustarts von VSCode verwendet werden kann, oder Sie müssen ssh-agent jedes Mal neu starten, wenn Sie VS Code neu starten.

Es wäre schön, wenn es dies mit Posh-Git (dem Powershell Git-Modul) teilen könnte, das die Werte in ([System.IO.Path]::GetTempPath()) ".ssh\$key.env" speichert - aber möglicherweise lohnt es sich, mit diesem Team zu sprechen, um sicherzustellen, dass dieser Ort etwas ist, das sie sind glücklich, eingesperrt zu sein.

@andrewducker Vielen Dank für die zusätzliche Eingabe. Ich habe nicht in dem Tempo daran gearbeitet, das ich wegen meiner Mid-Sems gerne hätte. Ich werde bis Ende der Woche darauf zurückkommen. Ich werde das Posh-Git-Team informieren.

@joaomoreno Ich habe wieder daran gearbeitet. Mein bisheriger Ansatz war zu naiv und hat nicht funktioniert. Ich versuche derzeit, einen geeigneten Ort zum Hinzufügen einer Funktion zu finden, die aufgerufen wird, bevor ein Git-Befehl ausgeführt wird (dh wenn VSCode gestartet wird und der Git-Anbieter geladen wird). Wo mache ich das? Ich kann anscheinend nicht verstehen, wie der Code fließt.

Gibt es einen Code, der aufgerufen wird, wenn ein Git-Aufruf erfolgt? Wenn ja, können Sie beim ersten Aufruf nach dem Passwort fragen.

Wenn man es betrachtet, wäre es der richtige Weg, einen Hook in Git.ts zu setzen, um alle Funktionen zu umgehen, die eine Verbindung zum Server bedeuten würden. (Wie holen, ziehen, schieben usw.).

(Ich würde anbieten, dies selbst zu tun, aber ich habe noch nie etwas in TypeScript geschrieben oder mit VSCode-Erweiterungen gearbeitet. Dies basiert nur darauf, dass ich den Code auf GitHub kurz durchforste.)

Das größte Problem ist, dass unter Windows die Variablen SSH_AUTH_SOCK und SSH_AUTH_PID möglicherweise für alle Prozesse oder nur für eine einzelne Konsolensitzung verfügbar sind, je nachdem, wie ssh-agent gestartet wurde. Es ist also viel einfacher, einen ssh-Agenten in VSCode zu starten, als vorhandene wiederzuverwenden (zumindest unter Windows).

In der Praxis bedeutet dies, dass der Benutzer seine Passphrase EINMAL eingeben muss, bevor die erste Git-Operation ausgeführt wird. Die VSCode-Instanzen können die ssh-Agenten untereinander freigeben, wenn wir einen fest codierten Ort definieren können, an dem SSH_AUTH_SOCK erstellt werden soll, damit andere VSCode-Instanzen sie anzeigen können, bevor sie ihre eigenen Agenten starten.

Dies stellt sich für mich als interessante Herausforderung heraus. 😃

Es wäre auch eine praktikable Option, wenn vscode eine bereits vorhandene SSH_AUTH_SOCK berücksichtigen würde. Ich werde nach meinem Kennwort für den privaten Schlüssel gefragt, obwohl ssh-agent bereits auf meinem System ausgeführt wird. Interessanterweise kann ich git innerhalb des integrierten vscode-Terminals (Shell) verwenden. Das Git-Plugin und das Terminal sollten sich zum einfacheren Debuggen gleich verhalten.

EDIT: Ich bin auf Commit f9d0c687ff2ea7aabd85fb9a43129117c0ecf519
EDIT2: Es funktioniert, wenn ich vscode von einer Bash aus starte, anstatt den Launcher meines Fenstermanagers zu verwenden.

Ja - das Starten von VSCode von einer Sitzung aus, in der sie bereits in der Umgebung festgelegt sind, funktioniert einwandfrei (in meinem Fall von Powershell aus starten). Wenn sie also bereits eingestellt sind, gibt es nichts zu tun.

irgendwelche Fortschritte in diesem Bereich?

@ezamelczyk Nein. Es tut mir Leid. Aufgrund des College konnte ich nicht genug Zeit investieren. Danke, dass du mich übrigens daran erinnert hast. Ich werde versuchen, in der kommenden Woche etwas Arbeit zu erledigen.

Hallo allerseits,

Leider habe ich das gleiche Problem ... 😭
Hier ist meine Konfiguration und das detaillierte Szenario, um es zu reproduzieren.
Ich hoffe es wird ein wenig helfen!

Betriebssystem : macOSX Sierra Version 10.24.4
VScode : Version 1.11.1

In meinem .ssh- Ordner befinden sich folgende Dateien:

  • config
  • id_rsa_github
  • id_rsa_github.pub
  • id_rsa_gitlab
  • id_rsa_gitlab.pub
  • know_hosts

Der Inhalt der Konfigurationsdatei :

Host gitlab.com
  HostName gitlab.com
  User git
  RSAAuthentication yes
  IdentityFile ~/.ssh/id_rsa_gitlab

Host github.com
  HostName github.com
  User git
  RSAAuthentication yes
  IdentityFile ~/.ssh/id_rsa_github

Ich kann problemlos über die Befehlszeile und den Tower festlegen und pushen.
Aber ich kann nicht in VScode ... es gibt mir diese Ausgabemeldung jedes Mal zurück, wenn ich versuche:

Git Pull
Berechtigung verweigert (publickey).
Schwerwiegend: Konnte nicht aus dem Remote-Repository lesen.
Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben
und das Repository existiert.

Danke für Ihre Hilfe

Für mich ist das wirklich ein Blocker. Ich mag VSC, aber ohne die Fähigkeit, Git zu verwenden, kann ich es nicht als meinen täglichen Editor verwenden.

@MartinZubek @jmbelloteau Behebt das Starten über eine Befehlszeile, in der Sie SSH Agent gestartet haben, das Problem für Sie?

@ Andrewducker

Vom Terminal aus habe ich mit dem folgenden Befehl eine Verbindung zu meinem Remote-Git hergestellt:

ssh -T [email protected]

... dann habe ich VScode vom Terminal mit dem Befehl geöffnet:

code

Wenn ich von VScode aus pushe, wird immer noch der gleiche Fehler angezeigt ...
Das ist wirklich ein Problem!

@ MartinZubek gleich hier, VScode ist erstaunlich, viel mehr als Atom.
Ich liebe die Geschwindigkeit des integrierten Terminals der UX und die Möglichkeit, Git zu verwenden.

Wir brauchen aber auch eine Verbindung zum Remote-GIT, um sicher zu sein. Das heißt, Passwort schützen SSH ...

Es macht Sinn ... richtig?

@andrewducker In der Tat funktioniert es für mich so. :) :)
Gibt es eine Chance, dass es nativ funktioniert, ohne dass es über die Befehlszeile gestartet werden muss?

Hallo @MartinZubek ,

Was funktioniert für Sie? Kannst du genauer sein? 😄

@jmbelloteau Sicher, es endet nicht mehr mit dem Fehler "Berechtigung verweigert (publickey)" und Git Pull / Push funktioniert wie vorgesehen. Es wird der richtige Schlüssel aus der Datei ~ / .ssh / config verwendet. Immer wenn die Schlüsselpassphrase benötigt wird, wird dieses Fenster angezeigt:
http://imgur.com/wpExMMP

@MartinZubek damit du von VScode pushen kannst?! Das ist großartig...
Haben Sie es über eine Befehlszeile gestartet, in der Sie SSH Agent gestartet haben?
Wenn ja wie?
Ich verstehe nicht, warum es in meiner Umgebung nicht funktioniert

@jmbelloteau Ja, ich habe vscode über die von mir verwendete Befehlszeile gestartet (es ist die git-bash.exe, die standardmäßig mit git für Windows geliefert wird, um genau zu sein). Ich musste den ssh-agent oder irgendetwas nicht manuell starten. Ich denke, es beginnt automatisch mit Git-Bash oder so.

@ MartinZubek verdammt

Auch wie du gesagt hast, es funktioniert bei mir nicht 😭

@vscodeteam Gibt es Pläne, dieses Problem zu lösen?

@jmbelloteau Es ist zu verdammt schwierig. Es ist auch ein Hit und Miss. Ich habe versucht, einen ssh-Agenten unter dem Knotenprozess zu starten, damit die env-Variablen für VSCode verfügbar sind. Dies bedeutet jedoch, dass mehrere VSCode-Instanzen mehrere ssh-Agenten benötigen und dennoch jedes Mal Passphrasen eingegeben werden müssen.

Ich suche nach einer Möglichkeit, stattdessen die Variable SSH_AUTH_SOCK zu verwenden. Es funktioniert unter Linux, muss aber noch unter Windows getestet werden.

Es gibt die zusätzliche Ausgabe von OpenSSH gegen Windows Powershell SSH gegen PuTTY.

Wenn jemand bereit ist, es zu testen, kann ich den Code an meine Gabel schieben und die Leute können ihn testen. Es wird jedoch einige Zeit dauern, da ich harcodierte Pfade verwendet habe (Proof-of-Concept-Sache).

Ich denke, ich werde es bis Samstag oder Sonntag haben.

Hallo @hashhar !

Danke für deine Antwort.
In der Tat scheint es wirklich kompliziert. 😞

Ich bin nicht wirklich Entwickler, also kann ich dir nicht wirklich helfen. Ich werde einfach bleiben, falls du die Magie gefunden hast und dir viel Glück schicken!

@ Hashhar in Bezug auf Ihre Kommentare, ich habe 2 Optionen vorzuschlagen:

  1. Sie können den gesamten VSCode (einschließlich des Vorgängerknotenprozesses) unter ssh-agent starten, ausgeführt von ssh-agent path/to/code ; Auf diese Weise muss nicht für jeden Knotenprozess eine Instanz von ssh-agent ausgeführt werden.
  2. Sie können ssh-agent von einem Knotenprozess aus ausführen, die Umgebungsvariablen abrufen (z. B. in einer Datei drucken) und sie für alle Prozesse freigeben.

Ich kann definitiv testen. Benötige ich etwas Besonderes, um es zu bauen? Ich habe die offizielle Version installiert.
Ich kann es aber bauen :)

@joaomoreno Ich denke, ich habe eine teilweise Lösung bereit.

In der Datei extensions/git/src/askpass.ts ich getEnv() geändert in:

getEnv(): Promise<any> {
        return this.portPromise.then(port => ({
            ELECTRON_RUN_AS_NODE: '1',
            GIT_ASKPASS: path.join(__dirname, 'askpass.sh'),
            VSCODE_GIT_ASKPASS_NODE: process.execPath,
            VSCODE_GIT_ASKPASS_MAIN: path.join(__dirname, 'askpass-main.js'),
            VSCODE_GIT_ASKPASS_PORT: String(port),
            SSH_AUTH_SOCK: process.env['SSH_AUTH_SOCK'],
            SSH_AGENT_PID: process.env['SSH_AGENT_PID'],
            SSH_ASKPASS: process.env['SSH_ASKPASS'] || '/usr/lib/ssh/x11-ssh-askpass'
        }));
    }

Das SSH_AUTH_SOCK wird aus der Benutzerumgebung ausgewählt, falls festgelegt.

Folgende Dinge sind jetzt möglich:

| ssh-agent | SSH-Schlüssel in Agent geladen | Ergebnis |
|: ---: |: ---: |: ---: |
| ✔ | ✔ | ✔ |
| ✔ | ✘ | $ SSH_ASKPASS wird ausgeführt |
| ✘ | ✘ | nichts passiert |

Um das Problem in der zweiten Zeile zu beheben, können wir auch SSH_ASKPASS von askpass.ts festlegen. Dadurch startet VSCode das Programm beim Start und fragt nach Passphrasen für SSH-Schlüssel.

Für die letzte Zeile müssten wir jedoch einen ssh-Agenten in VSCode starten und die richtigen Variablen festlegen.

Freiwillige?

Wenn jemand bereit ist, dies zu testen, können Sie meine Gabel klonen (https://github.com/hashhar/vscode), zum Zweig git-ssh-key wechseln und ihn erstellen und ausführen. Bitte überprüfen Sie anhand der obigen Tabelle, was bei allen Kombinationen passiert. Um das Rauschen hier so gering wie möglich zu halten, können Sie dieses Problem kommentieren.

@hashhar Das gesamte process.env wird beim Laichen immer an Git übergeben:

https://github.com/Microsoft/vscode/blob/master/extensions/git/src/git.ts#L383

Werden diese Variablen nicht ohne Ihr Snippet übergeben?

@joaomoreno Okay. Tiefer zu graben zeigt mir zwei Probleme.

  1. VSCode verwendet anscheinend nicht die Variable SSH_ASKPASS. Es ist fest codiert in '/ usr / lib / ssh-ssh-askpass'. Grundsätzlich besteht das einzige Problem darin, dass VSCode Git nicht unterstützt, indem es ihm sagt, wie eine Eingabeaufforderung zum Abrufen der SSP-Schlüssel-Passphrase des Benutzers gestartet werden soll.

Die meisten Tools unter Linux bieten ein Programm, das mit '/ usr / lib / ssh / ssh-askpass' verknüpft ist, viele jedoch nicht. Ich denke, das ist ein Problem, das die Leute treffen.

Ich konnte VSCode mit SSH verwenden, solange der SSH-Schlüssel bereits zum Schlüsselring des SSH-Agenten hinzugefügt wurde.

Ich denke ich war dumm.

MACHEN:

  1. Erweitern Sie vscode-askpass.ts usw. auch für ssh.
  2. Starten Sie ssh-agent, falls es noch nicht ausgeführt wird. Dies ist nur ein Problem der Überzeugung, sonst müssten Sie die Passphrase für jede Git-Operation eingeben.

Es tut mir leid, dass ich nicht gründlich gearbeitet habe.

Keine Sorge, es ist cool, dass du darauf springst! 👍

Ich bin jetzt schon eine Weile auf diesen Fehler gestoßen und dachte, ich wäre es. Noch mehr Fortschritte?

+1

+1

+1

+1

Bitte stoppen Sie Spam! Verwenden Sie die Schaltfläche "Abonnieren" und "Reaktion" und schreiben Sie keine solchen nutzlosen Kommentare.

Ich bekomme auch das gleiche Problem.

image

Seltsamerweise funktioniert dies für mich in Git Bash, aber nicht in Bash für Windows (wo ich den oben genannten Fehler Permission denied (publickey) erhalte):

$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code

Ich kann überprüfen, ob der SSH-Schlüssel funktioniert, indem ich in beiden Fällen direkt an die Fernbedienung sshe. Der einzige Unterschied, den ich sehen kann, ist, dass VSCode beim Start in Bash für Windows warnt, dass das aktuelle Arbeitsverzeichnis nicht ermittelt werden kann.

Gleiches Problem hier, ich habe fast alle Lösungsvorschläge ausprobiert.

Ich bin auf MacOs

@DavidBabel Ich bin auf MacOs und umgehe das Problem vorübergehend,

@letsdevus Danke für die Hilfe, aber im professionellen Kontext ist das leider nicht machbar

Der einzige Weg, wie ich herausfand, dass es funktioniert, war:

  1. Installieren Sie die PuTTY-Suite
  2. Legen Sie plink als Git SSH-Backend fest (mit der Umgebungsvariablen GIT_SSH ).
  3. Fügen Sie PuTTYgen Ihren Zugangsschlüssel hinzu
  4. Verwenden Sie vor allen Vorgängen an einer Eingabeaufforderung plink, um eine Verbindung zu dem Dienst herzustellen, den Sie verwenden möchten

Das macht den Trick.

Das gleiche Problem zu lösen und es immer wieder zu versuchen, auch die Leistung von VSCode anzuklopfen 👎

Ich bin gerade auf dieses Problem gestoßen. Zum Glück funktioniert die Problemumgehung (Startcode von der Shell) für mich, wäre aber schön, wenn das Problem behoben wäre.

Nur darauf gestoßen, scheint die Kittlösung zu helfen, aber ich würde es vorziehen, überhaupt keinen Kitt zu haben.

Ich beschäftige mich auch mit diesem Problem. Ich habe ein separates Konto für die Arbeit eingerichtet und habe mein persönliches Konto. Ich habe in letzter Zeit viel mit Arbeitsdateien gearbeitet. Ich kann durchkommen, muss aber jedes Mal die Passphrase eingeben. Kein Killer, aber viel weniger produktiv.

Es ist ein wenig enttäuschend, dass der Versuch, ein Repository über die VSC-Benutzeroberfläche zu klonen, nicht mit einer Git-URL im SSH-Stil funktioniert. Für die Aufzeichnung verwende ich einen kennwortgeschützten SSH-Schlüssel und führe häufig keinen SSH-Agenten aus. Ich finde die zusätzliche Eingabeaufforderung zum Entsperren meines Schlüssels tatsächlich etwas beruhigend - insbesondere beim Herausgeben von Änderungen. :-) Es ist nicht riesig, weil die Befehlszeile für mich gut funktioniert (für den Datensatz verwende ich VS-Code unter macOS.)

@gdamore also, es funktioniert tatsächlich für Sie, ohne einen Agenten ... Aber wir sprechen über Windows. 😝
Wie heißt die Datei des SSH-Schlüssels? Ist es ein Standard? Oder ist VSCode gut genug, um die richtige Datei zu finden?

Ich führe VScode hauptsächlich unter macOS aus, wie angegeben. Ich habe keine Ahnung, wie das unter Windows funktioniert. Ich mache kein Commit von Windows und verlasse mich stattdessen auf gemeinsam genutzte Dateisysteme (meine Windows-Entwicklungsinstanz wird als Gast in einer VM auf meinem Mac ausgeführt.)

Ich bekomme auch diesen Fehler. Keine Probleme in der Befehlszeile, aber keine Git-Aktivität in der App selbst ausführen können

vscode als git ide im arbeitskontext unbrauchbar machen

Ich konnte es nach diesem Blog-Beitrag zum Laufen bringen:

http://www.cgranade.com/blog/2016/06/06/ssh-keys-in-vscode.html

Gleiches Problem unter OSX mit passphrasengeschützten Schlüsseln.

Einfache Lösung:

Fügen Sie eine Benutzerumgebungsvariable mit dem Namen GIT_SSH mit dem Pfad zu C:\Program Files\PuTTY\plink.exe (nachdem Sie den Pfad zum privaten Schlüssel mit tortoise git konfiguriert haben).

Dies muss behoben werden, es macht VS Code nicht zu einem täglichen Editor. : / Irgendwelche Infos zum Fortschritt des Problems?

Würde es lieben, wenn vscode die SSH-Anmeldeinformationen von ssh-add erhält.

Beispielsweise kann der Quellbaum verfügbare Anmeldeinformationen (mithilfe von osxkeychain?) Ohne zusätzliche Konfiguration erkennen

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/_0/bvqq9l5d2ngg0stvkf53jrbr0000gn/T/SourceTreeTemp.ccbSGv 


git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream origin refs/heads/master:refs/heads/master 
Pushing to [email protected]:hanxue/gif-is-jif.git
To github.com:hanxue/gif-is-jif.git
   4eed265..762069a  master -> master
updating local tracking ref 'refs/remotes/origin/master'
Branch master set up to track remote branch master from origin.
Completed successfully

Ich war heute mit diesem Problem konfrontiert, ich bin in Linux Mint. Ich habe Schlüsselbund benutzt .

sudo apt install keychain

eval 'keychain --eval SSHKEY'
und das ist es.

@ Silentz0r wo hast du den letzten Befehl ausgeführt?

@ValentinH in Ihrer Shell, lesen Sie das Beispiel im Link.

Leute, das wartet nur darauf, dass ein mutiger Programmierer eine PR liefert!

Unter OSX behebe ich es dank https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain :

Erstellen Sie in ~/.ssh eine config -Datei mit folgendem Inhalt:

Host * (asterisk for all hosts or add specific host)
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile <key> (e.g. ~/.ssh/userKey)

@joaomoreno
Ich bin mir nicht sicher, wie "mutig" ich bin, aber ich bin ein bisschen ein SSH-Fan.
Ich werde für Dezember an einer PR arbeiten.

Alle betroffenen Bürger ...

Nach einem kurzen Setup-Test scheint eine Windows 7-Konfiguration recht einfach zu sein (siehe GIT_SSH und andere Kommentare). Ich glaube, die Kommentare, dass OS X den Schlüsselbund verwendet, sind ebenso einfach.
Die Einrichtung ist im Grunde ein externes Konfigurationsproblem. VSC benötigt keine Konfigurations- oder Funktionsänderungen, um SSH zu verwenden. Git ruft den SSH-Client auf. Entschuldigung, wenn mir etwas Offensichtliches fehlt.

Abgesehen von einem Assistenten zum Einrichten versuche ich herauszufinden, was wirklich nützlich wäre, um Code hinzuzufügen.
In einem Kommentar wird die Verwendung von mehr als einem Schlüssel erwähnt, für die möglicherweise die Umgebungsvariable geändert werden muss, vermutlich basierend auf der workSpace-Konfiguration. Auch das kann alles vom Agenten erledigt werden. Ich denke nicht, dass es Sinn macht, so etwas wie ssh zu Code hinzuzufügen, da git sich ganz direkt darum kümmert.

Was die Verwaltung von Anmeldeinformationen betrifft: Das möchte wirklich von einem sicheren Agenten wie z
pagent / keychain und so weiter.

Bemerkungen?

"VSC benötigt keine Konfigurations- oder Funktionsänderungen, um SSH zu verwenden. Git ruft den SSH-Client auf. Tut mir leid, wenn mir etwas Offensichtliches fehlt."

(Unter Windows)

Was geschieht
Wenn ich VS Code über eine Verknüpfung starte und nicht auch eine Software von Drittanbietern heruntergeladen und eine Befehlszeilenkonfiguration durchgeführt habe, funktioniert dies nicht mit verschlüsselten SSH-Schlüsseln.

Wenn ich dagegen Eclipse öffne und eine Verbindung zu einem Git-Repository herstelle, werde ich nach der Passphrase für meine Schlüssel gefragt.

Erwartet
Bei einer Neuinstallation von VSCode auf einem System, auf dem keine andere Software installiert ist, sollte ein Meldungsfeld angezeigt werden, in dem Sie nach meiner Passphrase gefragt werden. Anschließend können Sie meine Schlüssel entschlüsseln und eine Verbindung zum Remote-Repository herstellen.

@cleidigh SourceTree arbeitet automatisch ohne folgende @ItachiSan ‚s Anweisungen, während Code, der Einrichtung erfordert. Vielleicht könnten wir tun, was sie tun.

@ Andrewducker
@BeginnerForLife
Ich habe ein bisschen in Eclipse und den Quellbaum geschaut. Leider kann ich derzeit keines davon auf meinem System installieren, sodass mein Wissen und meine Erfahrung von Google begrenzt werden ;-) Denken Sie daran, wenn mir etwas fehlt. Hier ist eine grundlegende Zusammenfassung / Differenz:

Eclipse: EGit-Plug-In: Enthält Java-Git-Client, SSH-Client scheint intern zu sein, erfordert Schlüsselimport, wenn vorhandener Schlüssel

SourceTree: Grafischer Get-Client, erfordert externen SSH-Client (Screenshot unten setzt Plink unter Windows voraus )

image

VSC: Benötigt externes Git / SSH

@andrewducker Ihre Beschreibung verfolgt meinen Kommentar, es sei denn, Code implementiert sowohl Git als auch SSH (einschließlich Schlüsselgenerierung und -verwaltung). Ich bin mir nicht sicher, ob dazwischen viel liegt. Obwohl dies möglich ist, bin ich skeptisch, dass das Team beide einbeziehen möchte. @joaomoreno kann dazu sprechen.
Aus praktischer Sicht möchte ich auf Folgendes hinweisen:

  • Das "einfache Out-of-the-Box" -Git-Erlebnis ist eher auf die Verwendung des integrierten HTTPS abgestimmt und erfordert weiterhin externes Git
  • Für jene Arbeitssituationen, in denen SSH erforderlich ist, würde ich argumentieren, dass es sehr wahrscheinlich Richtlinien und SSH gibt
    Tools, die bereits in Kraft sind, das habe ich in den verschiedenen Unternehmen erlebt, für die ich gearbeitet habe.
  • Unter der Annahme, dass man dem oben Gesagten zustimmt, wäre die Kopplung an externe Tools das wahrscheinlichste Szenario als
    ssh / git von Grund auf neu oder eigenständig einrichten.
  • Um klar zu sein, ich möchte in keiner Weise implizieren, dass ssh nicht nützlich und / oder nicht erforderlich ist. Ich sage nur, dass VSC funktioniert und ziemlich einfach funktioniert, indem ich git auf einen lokalen SSH-Client zeige.
  • Ich denke, dies könnte möglicherweise mit einer Erweiterung erreicht werden

Wenn ich mich wiederhole, ohne dass git / ssh intern im Code enthalten ist, muss ich noch eine geringere Option festlegen. Ich bin absolut bereit, daran zu arbeiten, aber es muss sich an den Zielen des Teams ausrichten und insbesondere von @joaomoreno einen Segen

@cleidigh Ich verstehe nicht, was der Plan ist.

@joaomoreno
Ich hatte auf weitere Antworten von anderen Parteien gehofft, brauche aber Ihre Meinung / Präferenz zu möglichen Plänen.
Um ganz klar zu sein, Code scheint für den Zugriff auf private SSH-Schlüssel über Git mit nur ein wenig externer Konfiguration einwandfrei zu funktionieren. Einige hier schlagen eine stärkere Integration und ein verbessertes Out-of-Pocket-Erlebnis vor.

Einige mögliche Ansätze:

1- Implementieren Sie den git / ssh-Setup-Helfer / Assistenten - Suchen Sie ssh, setzen Sie GIT_SSH - interne Addition
2- Wie 1 als Erweiterung implementiert
3- Erweitern Sie oben, um den Download von SSH / Git für die Ersteinrichtung zu koordinieren
4- Implementieren Sie SSH-Client / Tools - interne Ergänzung
5- Wie 4 als Erweiterung implementiert
6- Implementieren Sie git / SS H intern - ähnlich wie bei Eclipse / egit

Ich denke, Nummer 1 ist ausreichend (vielleicht 3), obwohl es nicht alles implementiert, worüber die Leute sprechen. Die Optionen 4 bis 6 scheinen zu viel Aufwand und eine große Änderung der Schlüsselkomponenten zu sein.

Einstellungen @joaomoreno / all?

Es könnte eine gute Idee sein, VS Code mit Git unter Windows zu verwenden und die Schwachstellen zu identifizieren. Für mich ist das Hauptproblem die Authentifizierung.

Option 1 ist definitiv mein Favorit.

@BeginnerForLife
Wenn wir einen Helfer / SSH entdeckt und eingerichtet haben, hilft das?
Ich habe ssh für git für Windows eingerichtet, neben der Installation des Clients (ich hatte es bereits) hatte ich gerade GIT_SSH gesetzt
Außerdem wurde ein Schlüsselfingerabdruck mit dem Agenten hinzugefügt.

Konzentration auf Option 1 gemäß @joaomoreno- Präferenz:

  • Erkennen Sie den Arbeitsbereich mit dem Repository mithilfe von ssh und starten Sie den Helfer
  • Geben Sie den Befehl ein, um den Helfer jederzeit zu starten
  • Suchen Sie nach installiertem SSH und überprüfen Sie, ob die Umgebungsvariable festgelegt ist
  • Benutzer warnen, wenn kein SSH gefunden wurde, geeignete Clients vorschlagen / zeigen
  • Angebot, eine Umgebungsvariable festzulegen
  • Fordern Sie den Benutzer auf, den privaten Schlüssel zu verwenden, und fügen Sie dem Agenten einen Fingerabdruck hinzu

Ich glaube, kann aber nicht versprechen, dass es praktisch ist. Vorausgesetzt, niemand hat eine andere brillante Idee
Ich denke, es wäre gut, die oben genannten Prototypen zu erstellen.

Zusätzliches Feedback willkommen.

Ja, ich denke, diese Aufzählungspunkte sollten es abdecken. Insbesondere das letzte (Aufforderung an den Benutzer ...) sollte die Probleme vieler Menschen lösen.

@BeginnerForLife
Vielen Dank. Ich werde mit diesem Ansatz beginnen und hoffentlich werden andere mit jedem anderen Input mitmachen.
Ich denke, ich werde einen Zeiger auf mein Repository posten, bevor ich eine PR mache, um zu sehen, was die Leute denken. Schau hier zurück
um meinen Fortschritt zu verfolgen.

Ich stimme zu, dass (1) der beste Ansatz ist. Und im Grunde ist es das, was ich im Moment mache: Starten Sie ssh-agent, wenn es noch nicht ausgeführt wird, und legen Sie die Umgebungsvariablen fest. Starten Sie dann VS-Code über diese Befehlszeile, damit die Umgebungsvariablen abgerufen werden.

Wenn VS Code überprüfen kann, ob der SSH-Agent noch nicht ausgeführt wird, und ihn dann bei Bedarf startet, wäre das großartig.

Ich benutze das Git-Modul von PowerShell, um all dies zu tun - aber es verwendet die Logik von:
https://help.github.com/articles/working-with-ssh-key-passphrases/
Hoffentlich funktioniert das aus Knotensicht (obwohl Sie vermutlich überprüfen müssen, ob es auf allen Betriebssystemen funktioniert).

@ andrewducker cc: alle

Update: Ich musste zu einer früheren PR zurückkehren, aber ich habe tatsächlich große Fortschritte gemacht:

  • Neben einfachen Dingen wie dem Überprüfen / Setzen von GIT_SSH, dem Überprüfen des Git-Clients, dem Schlüsselagenten
  • Es wurde auch festgestellt, dass die Windows-Schlüsselagenten nach dem Start das Hinzufügen von Schlüsseln zulassen
  • Ich denke, wir können neue Schlüssel unter Code installieren, indem wir den Schlüsselagenten starten, der selbst zur Eingabe einer Passphrase auffordert.
  • Das nächste Experiment ist, ob ich eine fehlgeschlagene SSH-Anmeldung feststellen kann

Sollte in der Lage sein, in einem Tag oder so darauf zurückzukommen.

Gleiches gilt hier für macOS High Sierra mit einem privaten Standardschlüssel, der durch Passphrasen geschützt ist. Die Passphrase wird während einer Anmeldesitzung im Betriebssystem-Schlüsselbund gespeichert. Wenn ich meinen Mac neu starte, muss ich ihn vor dem ersten git pull / git push erneut eingeben, um zusätzliche Sicherheit zu gewährleisten. Seitdem wird die Passphrase nicht mehr abgefragt, bis ich mich abmelde. So verhält sich das Terminal, wenn ich zum ersten Mal mit einem Remote-Repo interagiere:

$ cd /path/to/repo
$ git pull
Enter passphrase for key '/Users/me/.ssh/id_rsa':
[me typing passphrase and pressing enter]
Updating 3e97c76..65a959c

Wenn jedoch VSCode nach einem Neustart versucht, etwas abzurufen, wird folgender Fehler angezeigt:

screen shot 2018-02-12 at 11 05 09

Die Problemumgehung besteht darin, ein Terminal zu öffnen, zum Repo zu navigieren und git pull . Keine Katastrophe, könnte aber verbessert werden.

__UPD: __ Interessanterweise funktioniert VSCode sofort und zeigt ein Popup-Fenster mit einem Eingabefeld an, wenn nach einer GPG-Schlüsselpassphrase zum Signieren neuer Commits gefragt wird.

Wie ist der Status dazu?

Derzeit wird der Fehler Git: [email protected]: Permission denied (publickey). angezeigt.

Benutzer, die ein Schlüsselpaar in ~\.ssh können sich über die Befehlszeile authentifizieren, indem sie die Passphrase für das Schlüsselpaar eingeben, jedoch nicht innerhalb von VS Code.

@cleidigh Glück?
Hat jemand eine Idee, wie wir das Passwortanforderungsereignis abfangen können? Ich denke, sobald ich das abgefangen habe, habe ich möglicherweise die Chance, das zu tun, was Atom tut, und ein Textfeld bereitzustellen, das ich verwenden kann. Aber atm ich bin für Ideen verloren.

Ich hatte alle möglichen Probleme mit Anmeldeinformationen, bis mir klar wurde, dass das Problem nicht bei VSCode liegt, sondern bei der Umgebung. Wenn Sie ssh, git usw. richtig konfiguriert haben, treten keine Probleme auf. Dies gilt sowohl für Linux als auch für Windows. Und wenn etwas schief geht, können Sie es jederzeit über das Terminal erzwingen.

Ich muss die Umgebung nicht für andere IDEs einrichten.
In Eclipse kann ich es beispielsweise direkt starten. Wenn es auf ein Remote-Git-Repository zugreifen muss, werde ich nach dem Kennwort zum Entschlüsseln meiner SSH-Schlüssel gefragt.
Visual Studio Code sollte dies ebenfalls tun.

Alle: Update
Obwohl ich hier einige Fortschritte gemacht habe, musste ich sie aus mehreren Gründen beiseite legen, damit ich seit Januar keine großen Fortschritte gemacht habe. Das tut mir leid. Ich hoffe, dass dies für Mai in Gang kommt.

An @ john681611 @andrewducker

Wie weiter oben im Thread beschrieben, ist dies ein grundlegendes Problem, das nicht "sauber" implementiert werden kann.
fordert dazu auf oder jede Art der Verwaltung der Schlüssel. Dies liegt daran, dass Code auf externem GIT und basiert
GIT stützt sich auf die Systeme SSH. Ohne Code, der diese intern implementiert (z. B. Eclipse), haben wir nur begrenzte Möglichkeiten, mit diesen externen Komponenten zu interagieren.

Mein aktueller Prototyp kann Folgendes tun:

  • Überprüfen Sie, ob ein Repository SSH verwendet, wenn der Konfigurationsassistent für Folgendes gestartet wurde:
  • Überprüfen Sie die Umgebungsvariable GIT_SSH und fordern Sie sie auf
  • Überprüfen Sie den SSH-Client
  • Wenn möglich Passwort-Dialog vom Client erzwingen (WIP) Beachten Sie, dass diese Eingabeaufforderung nicht vom Code des Clients stammt

Ich stimmte zu, dass es per @andrewducker schön

Hinweis: Ein anderer Ansatz könnte sein, wenn wir den offiziellen GIT-Client dazu bringen könnten, mehr Sicherheitsparameter zu verarbeiten, die wir zur Steuerung des SSH verwenden könnten. Das würde die aktuelle Architektur beibehalten

Alle / Update

Ich habe an dem letzten und wichtigsten Teil des Prototyps gearbeitet: einem Askpass-Shim, damit Code eine native Passphrase-GUI-Eingabeaufforderung bereitstellen kann. Derzeit glaube ich, dass dies möglich sein wird und in Verbindung mit dem plattformspezifischen SSH-Agenten werden die Anmeldeinformationen auf ihre normale Weise gespeichert.

Mein Problem ist, dass ich weder SSH noch GIT dazu bringen kann, SSH_ASKPASS, GIT_ASKPASS oder core.askpass unter GIT Bash oder CMD unter Windows zu berücksichtigen. Die Terminal-Eingabeaufforderung ist das einzige, was angezeigt wird. Als grundlegendsten Test habe ich einen oder alle auf den eingebauten git-gui-askpass gesetzt, aber dies funktioniert auch nicht, obwohl das Programm ausführbar war, wenn es über die Befehlszeile getestet wurde.

Hat jemand diese Methoden verwendet, um den Passphraseneintrag unter Windows oder anderen relevanten Szenarien zu ändern?

Sourcetree öffnet auch nur ein Terminal. Ist doch nicht so schlimm.

Um die Lösung von @ValentinH unter macOS 10.12 Sierra und höher zu erweitern, behebt nur die Anweisung UseKeychain das Problem auf meinem Computer (macOS 10.13.5 High Sierra Developer Beta, 17F70a). Die Anweisung AddKeysToAgent scheint nicht erforderlich zu sein. Diese Konfiguration funktioniert bei mir:

Host github.com
  HostName github.com
  IdentityFile /path/to/your/ssh/private/key
  UseKeychain yes

Wie ist der Status dazu?

'14581: VS Code erfordert, dass Git-SSH-Schlüssel als "id_rsa" bezeichnet werden.' Wurde als Duplikat dieses Problems geschlossen. Ich bin mir nicht sicher, ob dies ein Duplikat ist - "Support-Git mit Passwort für privaten Schlüssel". Dies scheinen getrennte Themen zu sein.

BEARBEITEN: Dies war nur ein Fix für die einzelne Instanz des Terminals, das ich ausgeführt habe. Selbst das Öffnen eines neuen Terminals in derselben Codesitzung führte erneut zu einem Fehler mit dem öffentlichen Schlüssel

Es sah so aus, als wäre mein SSH-Agent entweder irgendwann gestorben oder hätte meinen Nicht-ID_RSA-Schlüssel vergessen, den ich für Git verwende. Also bin ich einfach gelaufen:

eval "$(ssh-agent -s)"
ssh-add path/to/my/github/ssh/private/key

und alles war wieder normal. Dies ist die Folge von Befehlen, die GitHub anweist, wenn Sie einen neuen SSH-Schlüssel einrichten.

Ich gebe zu, ich habe den größten Teil dieses Threads nicht gelesen, aber für mich hat das funktioniert.

@cleidigh @joaomoreno Dies ist möglicherweise kein Fehler, sondern richtet SSH- Schlüssel falsch ein, insbesondere unter MacOS. Sierra hat die Art und Weise, wie Schlüssel in der Sitzung aufbewahrt werden, radikal geändert

Ich löse es nur, wenn ich einen neuen SSHkey ohne die Passphrase neu generiere. Ich denke, vielleicht kann vscode keine Shell öffnen, um Passphrase einzugeben.

Ich musste nur meinen Schlüssel mit ssh-add -K ~/.ssh/id_rsa zum Mac-Schlüsselbund hinzufügen. Ersetzen Sie id_rsa durch Ihren Schlüssel, wenn Sie nicht die Standardeinstellung verwenden.

Eine Problemumgehung für Windows 10:

  1. Lassen Sie Git das mit Windows gelieferte OpenSSH anstelle des mit Git gelieferten verwenden.
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
  2. Stellen Sie den SSH-Agent-Dienst (nicht den mit git gelieferten) so ein, dass er automatisch ausgeführt wird.
    Öffnen Sie den Task-Manager auf der Registerkarte Dienste und klicken Sie auf Dienste öffnen.
    Suchen Sie den OpenSSH-Authentifizierungsagenten, öffnen Sie die Eigenschaften, setzen Sie den Starttyp auf Automatisch und klicken Sie auf OK.
    Starten Sie auch den Dienst oder starten Sie Ihren Computer neu.
  3. Fügen Sie dem Agenten Ihren passwortgeschützten Schlüssel hinzu.
    ssh-add
    Es sollte automatisch Schlüssel aufnehmen, die in C: \ Users \% USERNAME% \. Ssh gespeichert sind. Dort erstellt ssh-keygen sie.
    Geben Sie an der Eingabeaufforderung Ihre Passwörter ein.

Hinweis: Wenn Sie bei der Installation von Git für Windows die Option zum Hinzufügen von Bash-Befehlen zu PATH ausgewählt haben, zeigt der Befehl ssh-add möglicherweise auf die falsche ausführbare Datei. In diesem Fall können Sie den enthaltenen manuell ausführen, um Ihren Schlüssel zum Agenten hinzuzufügen:
C:\Windows\System32\OpenSSH\ssh-add.exe

Jetzt wird der integrierte OpenSSH-Authentifizierungsagent beim Start mit entsperrtem kennwortgeschützten Schlüssel ausgeführt, und Git verwendet Windows OpenSSH anstelle seines eigenen. Sie müssen also nicht jedes Mal Ihr Kennwort eingeben, den ssh-Agenten nicht manuell starten und VS-Code nicht über die Befehlszeile starten.

Genau wie LynnScarlett bemerkt hat, gibt es keine Möglichkeit, eine Passphrase für den Schlüssel einzugeben, und die Verwendung des Schlüsselbunds ist unsicher. Wird VSC also Unterstützung für diese grundlegende Funktion hinzufügen?

Ich kann nicht erkennen, wie unsicher der Schlüsselbund ist. Darüber hinaus ermöglichen beliebte IDEs die Eingabe von Passwörtern, sodass VSC beide Eingabemethoden sehr gut unterstützen kann

Ich meinte ssh-agent, ich könnte zwei Dinge verwechseln, ich bin nicht sicher :)

Ssh-Agent ist nur in dem Sinne "unsicher", dass er den Schlüssel pro Sitzung lädt. Sie haben andere Probleme, wenn Sie einen kompromittierten Computer haben

Dies erklärt die Unsicherheit bei der Verwendung von ssh-agent ausführlicher:
http://rabexc.org/posts/pitfalls-of-ssh-agents
Prost!

Dies alles läuft darauf hinaus, dass Sie Ihren Computer nicht jemand anderem anvertrauen, der über Root-Zugriff verfügt - was Sie sowieso nicht tun sollten. Also noch einmal: Wenn ssh-agent aufgrund der Details in diesem Artikel kompromittiert wird, haben Sie größere Probleme

@whatsyourgithub Lösung hat bei mir funktioniert. Aber ich denke, es ist nicht die beste Lösung.

VS-Code-Version: Code 1.27.2 (f46c4c4, 2018-09-12T16: 17: 45.060Z)
Betriebssystemversion: Windows_NT x64 10.0.17134
Git Version 2.19.0.windows.1

Funktioniert immer noch nicht.

Es ist jetzt zwei Jahre her und immer noch keine Lösung dafür. Das gleiche Problem gilt für Atom. Ich denke, das lässt sich nicht einfach hinzufügen. Alles, was ich wirklich möchte, ist Push (mit Passphrase) in der Dropdown-Liste Weitere Aktionen ... git in der Quellcodeverwaltung.

Ich bin froh, die Passphrase bei jedem Push eingeben zu können. Ich möchte einfach nicht in die Befehlszeile gehen und Raw-Git-Befehle eingeben müssen.

Es ist jetzt zwei Jahre her und immer noch keine Lösung dafür. Das gleiche Problem gilt für Atom. Ich denke, das lässt sich nicht einfach hinzufügen. Alles, was ich wirklich möchte, ist Push (mit Passphrase) in der Dropdown-Liste Weitere Aktionen ... git in der Quellcodeverwaltung.

Ich bin froh, die Passphrase bei jedem Push eingeben zu können. Ich möchte einfach nicht in die Befehlszeile gehen und Raw-Git-Befehle eingeben müssen.

Versuchen Sie, das Repo mit https anstelle von ssh zu klonen. Das lässt VS Code nach Benutzername und Passwort für mich fragen.

Ich bin gerade von Atom gekommen, um Github Pull Request im VS-Code zu überprüfen, und der erste Gedanke ist

Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben
und das Repository existiert.

git show: index.html
git pull --tags origin master
git show: index.html
[email protected] : Berechtigung verweigert (publickey).
Schwerwiegend: Konnte nicht aus dem Remote-Repository lesen.
Bitte stellen Sie sicher, dass Sie die richtigen Zugriffsrechte haben
und das Repository existiert.

Daher werde ich die Option nicht nur mit der SSH-Taste verwenden, ohne auch mein Passwort einzugeben.
Daher werde ich später auf VS-Code und die Erweiterung Github Pull Request zurückkommen.
Ich liebe das, was die Community bisher gemacht hat, und ich freue mich darauf, dies in Zukunft mit meiner Sicherheitspräferenz zu nutzen.

Versuchen Sie, das Repo mit https anstelle von ssh zu klonen. Das lässt VS Code nach Benutzername und Passwort für mich fragen.

Danke, das funktioniert auch bei mir. Und wenn Sie Git für Windows Credential Manager installieren und den folgenden Befehl in die Git Bash Shell im VS-Code eingeben:
git config --global credential.helper manager
Das Synchronisieren und Abrufen funktioniert dann, ohne dass die Gitlab-Benutzer-ID und das Kennwort erneut eingegeben werden müssen.

Es wäre schön, wenn man dasselbe für SSH tun könnte, da dies der Standard für den Gitlab-Repo-Pfad ist.

@whatsyourgithub , möchte Ihre Lösung verwenden (sieht besser aus als primitiv und fehlerhaft "VSC über Eingabeaufforderung starten"), aber ich erhalte eine VSC-Fehlermeldung:
Git: keine solche Identität: /C/Users/myuser/.ssh/myrsaKey_rsa
Obwohl die Datei da ist.
Und noch etwas ... Beim Versuch, C: \ Windows \ System32 \ OpenSSHssh-add.exe zu verwenden, erhalte ich auch die Datei oder das Verzeichnis "Nein".
Ich verwende die VSCode-PowerShell, um diese Befehle einzugeben
Irgendwelche Ideen?

Ich habe eher zu https als zu SSH gewechselt. Nur so kann ich es gut spielen lassen. Interessanterweise empfiehlt Github die Verwendung von https anstelle von SSH.

@whatsyourgithub , möchte Ihre Lösung verwenden (sieht besser aus als primitiv und fehlerhaft "VSC über Eingabeaufforderung starten"), aber ich erhalte eine VSC-Fehlermeldung:
Git: keine solche Identität: /C/Users/myuser/.ssh/myrsaKey_rsa
Obwohl die Datei da ist.
Und noch etwas ... Beim Versuch, C: \ Windows \ System32 \ OpenSSHssh-add.exe zu verwenden, erhalte ich auch die Datei oder das Verzeichnis "Nein".
Ich verwende die VSCode-PowerShell, um diese Befehle einzugeben
Irgendwelche Ideen?

Ich würde versuchen, Powershell zuerst außerhalb von VS Code zu öffnen, obwohl es keine Rolle spielen sollte.

OpenSSH soll mit den neuesten Versionen von Windows 10 installiert werden. Versuchen Sie es mit einem Update.
Wenn dies nicht funktioniert, gehen Sie zu Einstellungen> Apps> Apps und Funktionen> Optionale Funktionen verwalten> Funktion hinzufügen und suchen Sie nach OpenSSH.

@whatsyourgithub , möchte Ihre Lösung verwenden (sieht besser aus als primitiv und fehlerhaft "VSC über Eingabeaufforderung starten"), aber ich erhalte eine VSC-Fehlermeldung:
Git: keine solche Identität: /C/Users/myuser/.ssh/myrsaKey_rsa
Obwohl die Datei da ist.
Und noch etwas ... Beim Versuch, C: \ Windows \ System32 \ OpenSSHssh-add.exe zu verwenden, erhalte ich auch die Datei oder das Verzeichnis "Nein".
Ich verwende die VSCode-PowerShell, um diese Befehle einzugeben
Irgendwelche Ideen?

Ich würde versuchen, Powershell zuerst außerhalb von VS Code zu öffnen, obwohl es keine Rolle spielen sollte.

OpenSSH soll mit den neuesten Versionen von Windows 10 installiert werden. Versuchen Sie es mit einem Update.
Wenn dies nicht funktioniert, gehen Sie zu Einstellungen> Apps> Apps und Funktionen> Optionale Funktionen verwalten> Funktion hinzufügen und suchen Sie nach OpenSSH.

Hallo.
Danke für die Antwort.
OpenSSH (Client) wurde bereits installiert.
Ich habe den Vorgang mit der Standalone-PowerShell wiederholt, erhalte aber weiterhin die Fehlermeldung
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
Wollte dies mit dem Besitz der RSAPRIVKEY_rsa zusammenhängen? Ich habe den Schlüssel nicht mit Powershell ausgegeben, sondern von einem anderen Ort kopiert (jedenfalls funktioniert er mit dem Quellbaum oder der Git-GUI).

@whatsyourgithub , möchte Ihre Lösung verwenden (sieht besser aus als primitiv und fehlerhaft "VSC über Eingabeaufforderung starten"), aber ich erhalte eine VSC-Fehlermeldung:
Git: keine solche Identität: /C/Users/myuser/.ssh/myrsaKey_rsa
Obwohl die Datei da ist.
Und noch etwas ... Beim Versuch, C: \ Windows \ System32 \ OpenSSHssh-add.exe zu verwenden, erhalte ich auch die Datei oder das Verzeichnis "Nein".
Ich verwende die VSCode-PowerShell, um diese Befehle einzugeben
Irgendwelche Ideen?

Ich würde versuchen, Powershell zuerst außerhalb von VS Code zu öffnen, obwohl es keine Rolle spielen sollte.
OpenSSH soll mit den neuesten Versionen von Windows 10 installiert werden. Versuchen Sie es mit einem Update.
Wenn dies nicht funktioniert, gehen Sie zu Einstellungen> Apps> Apps und Funktionen> Optionale Funktionen verwalten> Funktion hinzufügen und suchen Sie nach OpenSSH.

Hallo.
Danke für die Antwort.
OpenSSH (Client) wurde bereits installiert.
Ich habe den Vorgang mit der Standalone-PowerShell wiederholt, erhalte aber weiterhin die Fehlermeldung
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
Wollte dies mit dem Besitz der RSAPRIVKEY_rsa zusammenhängen? Ich habe den Schlüssel nicht mit Powershell ausgegeben, sondern von einem anderen Ort kopiert (jedenfalls funktioniert er mit dem Quellbaum oder der Git-GUI).

IN ORDNUNG. Es wurde behoben. In der Datei ./ssh/config hatte ich den Pfad zum SSH-Schlüssel s C: \ Users \.ssh \ RSAKEY_rsa und änderte es in ~ / .ssh / RSAKEY_rsa
Dann musste nur noch der Schlüssel registriert werden und das war alles.
Vielen Dank

@whatsyourgithub , tut mir leid, wieder zu stören. Ich versuche meinem Kollegen zu helfen, und er hat keinen Erfolg (das, was Sie oben vorgeschlagen haben, funktioniert für mich, aber nicht für ihn). Dies sind die Symptome:
Er kann einen Git-Abruf von der PS-Konsole ausführen, aber wenn er mit gitacora (dem Plugin zum automatischen Synchronisieren - das auch ich ohne Probleme verwende) pusht oder synchronisiert, wird die folgende Fehlermeldung angezeigt:
Permission denied (publickey).
Wir wissen, dass der Schlüssel von OpenSSH hinzugefügt wurde, weil C:\Windows\System32\OpenSSH\ssh-add.exe -L seinen öffentlichen Schlüssel abruft und weil es funktioniert, wenn wir den Befehl git fetch von PS verwenden.
Irgendeine Idee, wie er bei der Diagnose / Behebung helfen kann?

@whatsyourgithub , tut mir leid, wieder zu stören. Ich versuche meinem Kollegen zu helfen, und er hat keinen Erfolg (das, was Sie oben vorgeschlagen haben, funktioniert für mich, aber nicht für ihn). Dies sind die Symptome:
Er kann einen Git-Abruf von der PS-Konsole ausführen, aber wenn er mit gitacora (dem Plugin zum automatischen Synchronisieren - das auch ich ohne Probleme verwende) pusht oder synchronisiert, wird die folgende Fehlermeldung angezeigt:
Permission denied (publickey).
Wir wissen, dass der Schlüssel von OpenSSH hinzugefügt wurde, weil C:\Windows\System32\OpenSSH\ssh-add.exe -L seinen öffentlichen Schlüssel abruft und weil es funktioniert, wenn wir den Befehl git fetch von PS verwenden.
Irgendeine Idee, wie er bei der Diagnose / Behebung helfen kann?

Klingt so, als ob sein Schlüssel nicht mit seinem Github-Konto verknüpft ist oder sein Github-Konto nicht als Mitarbeiter im Repo hinzugefügt wird.

Klingt so, als ob sein Schlüssel nicht mit seinem Github-Konto verknüpft ist oder sein Github-Konto nicht als Mitarbeiter im Repo hinzugefügt wird.

Ich verwalte den Bitbucket-Server und habe dort seinen Pub-Schlüssel hinzugefügt (und tatsächlich kann er auf Fetch und Push zugreifen, wenn er die Befehlszeile über PowerShell verwendet).
Oder ist es etwas, das ich aus Ihrer Antwort nicht mitbekommen habe?

Ich musste nur meinen Schlüssel mit ssh-add -K ~/.ssh/id_rsa zum Mac-Schlüsselbund hinzufügen. Ersetzen Sie id_rsa durch Ihren Schlüssel, wenn Sie nicht die Standardeinstellung verwenden.

macOS High Sierra gegen Code
[email protected] : Berechtigung verweigert (publickey).
Schwerwiegend: Konnte nicht aus dem Remote-Repository lesen.

Dies wurde markiert, da dadurch das Problem behoben wurde, dass integriertes Git nicht in vscode funktioniert, obwohl es über die Befehlszeile einwandfrei funktioniert hat.

@whatsyourgithub Es scheint über git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe" funktionieren, nachdem ich eine neue id_rsa generiert habe.

  1. Der Schlüssel hat jedoch ein Passwort. Wenn ich drücke, gibt es kein Windows-Dialogfeld, in dem ich mein Passwort eingeben kann.
  2. Wenn ich einen Schlüssel verwende, der über ssh-add .ssh\id_rsa auf meinem PC beendet wurde, liegt ein Fehler vor. Warum kann ich den Schlüssel nicht hinzufügen? Ich möchte denselben Schlüssel verwenden, den ich zuvor hinzugefügt hatte.
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
Permissions for 'D:/ablob/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:/ablob/.ssh/id_rsa": bad permissions
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

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

Betriebssystem: Windows 10
VSC: 1,28

Irgendwelche Updates?

Gibt es Pläne, dies in naher Zukunft zu tun?

Gemäß der VS Code-Dokumentation (https://code.visualstudio.com/docs/editor/versioncontrol):

Kann ich die SSH Git-Authentifizierung mit VS-Code verwenden?
Ja, obwohl VS Code am einfachsten mit SSH-Schlüsseln ohne Passphrase funktioniert. Wenn Sie einen SSH-Schlüssel mit einer Passphrase haben, müssen Sie VS Code über eine Git Bash-Eingabeaufforderung starten, um die SSH-Umgebung zu erben.

Diese Seite wurde vom 12/12/2018 datiert.

Also habe ich gerade neue SSH-Schlüssel ohne Passphrase generiert (indem ich sie bei Aufforderung leer gelassen und die vorherigen überschrieben habe), sie meinem Konto auf GH hinzugefügt und dem SSH-Agenten die Identität hinzugefügt, indem ich ssh-add.exe ~\.ssh\id_rsa . Jetzt funktioniert alles.

Wenn andere dies bestätigen können, würde ich vorschlagen, dieses Thema zu schließen, da in der offiziellen VS-Code-Dokumentation bereits ausdrücklich angegeben ist, dass es nur mit Passphrasen funktioniert, wenn VS-Code über git-bash gestartet wird.

Wenn andere dies bestätigen können, würde ich vorschlagen, dieses Thema zu schließen, da in der offiziellen VS-Code-Dokumentation bereits ausdrücklich angegeben ist, dass es nur mit Passphrasen funktioniert, wenn VS-Code über git-bash gestartet wird.

Nun, die Dokumentation sagt "am einfachsten", nicht, dass es überhaupt nicht funktionieren würde, wenn Schlüssel Passphrasen haben, und der Vorschlag, VS Code über eine Git Bash-Eingabeaufforderung zu starten, ist nur für diejenigen erforderlich, die Git-for-Windows verwenden. SSH-Agent zur Verwaltung ihrer Schlüssel.

Ich kann tatsächlich bestätigen, dass ich den SSH-Agenten von Windows verwende (nicht den, der mit Git für Windows geliefert wird), meinen (kennwortgeschützten) SSH-Schlüssel darin laden und dann VS-Code normal starten (nicht über eine bestimmte Eingabeaufforderung) und Ich kann Push / Pull erfolgreich ausführen, um Repos zu erstellen, für die mein Schlüssel erforderlich ist.

Ich bestätige, dass beim Öffnen des VS-Codes über git bash der SSH-Schlüssel und im VS-Code Ihre SSH-Passphrasen im Terminal abgefragt werden.

Ich hatte ein ähnliches Problem mit VSCode unter Windows 10, das nicht von _ ssh: // repo_ drückte / zog, während es im Terminal möglich war.

Ich verwende CMDer mit git-for-windows und VSCode wurde so konfiguriert, dass git.path auf diese Binärdateien verweist. Ich habe auch die SSH-Konfigurationsdatei im Verzeichnis _% USERPROFILE% \. SSH_ mit allen erforderlichen Optionen und der Identitätsdatei auf die Datei mit dem öffentlichen Schlüssel gesetzt. KeePass mit KeeAgent bedienen die Schlüssel.

Das zuvor erwähnte Verfahren, um zuerst das Terminal (CMDer) und dann den Code auszuführen, funktioniert einwandfrei, aber es hat mir nicht gefallen. Also habe ich (erfolgreich) einen anderen Ansatz versucht:
Im Verzeichnis git.exe habe ich die cmd-Datei erstellt:

<strong i="10">@echo</strong> off
set SSH_AUTH_SOCK=/path/to/my/sock.file
%~dp0git.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

(Der Pfad SSH_AUTH_SOCK muss Schrägstriche enthalten) und die Option git.path im Code darauf zeigen.

Jetzt startet Code, scheint die Datei _ ~ / .ssh / config_ ohne zusätzliche "Hacks" zu lesen und kann den Agenten verwenden.

Bearbeiten:
Ich denke, das globale Setzen der Umgebungsvariablen SSH_AUTH_SOCK würde ebenfalls helfen - wobei die Kosten für die Schlüssel für jede Anwendung zugänglich sind ...

"you'll need to launch VS Code from a Git Bash prompt to inherit its SSH environment."

Eines der mittelmäßigsten Dinge, die ich von Microsoft gehört habe; Ich sollte VS Code nicht über eine bestimmte Befehlszeile starten müssen, damit ssh funktioniert. Vielleicht versuchen Sie, eine richtige Lösung zu implementieren.

Rückstand? Ja wirklich?

Dies führte dazu, dass ich zu Powershell und Posh-Git wechselte, was ziemlich gut funktioniert. Damit der ssh-Agent nahtlos funktioniert, musste ich $profile.CurrentUserAllHosts Folgendes hinzufügen (standardmäßig C:\Users\USERNAME\Documents\WindowsPowerShell\profile.ps1 ).

Import-Module posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
Start-SshAgent -Quiet

Wenn andere dies bestätigen können, würde ich vorschlagen, dieses Thema zu schließen, da in der offiziellen VS-Code-Dokumentation bereits ausdrücklich angegeben ist, dass es nur mit Passphrasen funktioniert, wenn VS-Code über git-bash gestartet wird.

Ich muss hier nicht zustimmen: Bei diesem Problem geht es um den Mangel an angemessener Unterstützung für SSH-Passphrasen in VS Code, und die dokumentierte Problemumgehung ist einfach das - eine Problemumgehung. Es gibt bereits zu viele Versuchungen für den faulen Benutzer, eine gute Passphrasensicherheit zu überspringen, daher sollte jedes moderne Tool es einfach machen, das Richtige zu tun.

Basierend auf dem, was andere oben vorgeschlagen haben, habe ich gerade eine Bash-Skriptdatei erstellt (dh projectName.sh ) und Folgendes geschrieben:
"location/to/Code.exe" "location/to/project"

Jetzt muss ich nur noch auf die Datei doppelklicken, um VSCode zu öffnen und mit einem Zertifikat mit einer Passphrase zu arbeiten.

Übrigens: Für den Fall, dass es anderen hilft, über dieses Problem zu stolpern, musste ich auch: git config --global http.sslBackend schannel wie hier beschrieben.

Ich bin verblüfft, dass nach zwei langen Jahren eine so grundlegende Sache wie "Arbeiten mit Git mit SSH unter Verwendung eines Schlüssels, der eine Passphrase hat" noch nicht behandelt wurde, ohne hässlich aussehende Problemumgehungen zu verwenden. VSCode ist meiner Meinung nach ein großartiger Editor, aber diese "Funktion" wird wirklich benötigt. Bitte priorisieren Sie es

Hier ist ein alter Beitrag, den ich auf Stackoverflow geworfen habe, der hilfreich sein kann. Eine Option ist die Verwendung des Windows Credential Manager: https://stackoverflow.com/questions/35110079/git-bash-pageant-not-using-keys/43313491#43313491

Ich denke, die Frage ist, ob VSCode für die Verarbeitung von SSH / HTTPS-Anmeldeinformationen als Keystore-Manager verantwortlich sein soll. Es scheint so, als ob dies vom Betriebssystem, einem Programm eines Drittanbieters oder einer richtigen Konfiguration von Git erledigt werden sollte, die sich in die ersten beiden Punkte einfügt.

So sehr mir der Sound dieser Funktion gefällt, scheint es bereits so, als ob Unix und Windows Möglichkeiten haben sollten, dieses Problem zu lösen, ohne dies in VSCode hinzuzufügen.

Ich bin mir nicht sicher, ob irgendetwas hier in diesen Github-Artikeln hilft: https://help.github.com/articles/connecting-to-github-with-ssh/
Letztendlich klingt es so, als würden Sie aufgefordert, Bash für Windows / eine andere Bash-Windows-Alternative zu verwenden, wodurch die Leute mit einer hackigen Problemumgehung zu demselben Problem zurückkehren: \

@ctsstc Ja, ich habe den Git Credentials Manager für Windows installiert, aber aus irgendeinem Grund funktioniert er nicht. Mir ist bewusst, dass dies möglicherweise keine Verantwortung für VSCode ist. In Android Studio- und IDEA-basierten IDEs wird beispielsweise nur die Git-Binärdatei aufgerufen. Die einzige Integration besteht darin, dass für den Vorgang eine Passphrase erforderlich ist. Die IDE behält diese sicher bei und übergibt sie an Git - möglicherweise ist dies eine guter Ansatz. Vielleicht ist dies das einzige, was ihnen fehlt?

@ctsstc Stimme überhaupt nicht zu, Sie können keine Benutzeroberfläche für ein CLI-Programm implementieren - in diesem Fall GIT - und dann behaupten, dass es nicht länger Ihr Problem ist, wenn das Programm Eingaben benötigt . Wenn Sie nicht möchten, dass sich die Leute darauf verlassen, dass VC Git verwendet, sollten Sie Git nicht von Anfang an integriert haben -ass jahrzehntealte Best Practices für die Sicherheit wie SSH-Schlüssel mit Passphrasen.

Ich denke, ein wichtiger Punkt hier ist, dass Atom sich an SSH-Passphrasen für Git-Repos erinnert. Sicherlich kann vscode dasselbe tun, da beide auf derselben Bearbeitungs-Engine basieren?

Ich denke, die Frage ist, ob VSCode für die Verarbeitung von SSH / HTTPS-Anmeldeinformationen als Keystore-Manager verantwortlich sein soll.

Ich glaube nicht, dass es so sein sollte, aber ich glaube auch nicht, dass hier darum gebeten wird. Wie @Ivanca hervorhob , hat VSC beschlossen, eine Benutzeroberfläche über Git zu präsentieren. Daher

Das erwartete Ergebnis ist also, dass das Passwort abgefragt wird. Ich denke, das ist eine vernünftige Frage / Funktion.

Anstatt zu zeigen:

Permission denied, please try again.
Permission denied (publickey,password).

Ich habe das Gefühl, dass ich diese Funktionalität vor ein paar Tagen auf einem Mac gesehen habe, aber vielleicht ist sie unter Windows nicht implementiert, oder ich habe nach meinem Systemkennwort gefragt, um auf den Systemschlüsselspeicher zuzugreifen.

Bearbeiten, habe dies gerade auf dem Mac versucht:

image

Es sieht also so aus, als würde dies auf einem Mac unterstützt, aber nicht auf Windows (ich gehe davon aus, dass dieses Problem weiterhin besteht). Daher besteht die Funktion darin, eine Parität zwischen den beiden Betriebssystemen herzustellen.

Irgendwelche Updates dazu? Es ist 2 Jahre her, seit dieses Problem gemeldet wurde und VSCode kann immer noch nicht mit Git SSH arbeiten:
image

@ctsstc Ich kann auf der Registerkarte "Terminal" bestätigen, dass es unter Mac funktioniert. Was fehlt, ist die Aufforderung zur Eingabe einer Passphrase, wenn die Pull / Push-Abruffunktionen von der GUI verwendet werden. Es ignoriert nur die Tatsache, dass Sie eine Passphrase auf Ihrem Schlüssel haben und sendet ein Null / Null-Passwort, was dazu führt, dass die Git-Operation fehlschlägt.

Ich bin der festen Überzeugung, dass dies angegangen werden sollte, unabhängig davon, ob VSC Passphrasen-Anmeldeinformationen zwischenspeichert. Nicht scheitern, wenn der rsa-Schlüssel eine Passphrase enthält, und nach dem Schlüssel fragen.

Wann wird das passieren?

Wird das behoben? Gleiches Problem unter Windows

Sieht nicht hoffnungsvoll aus. Ich gab auf und wechselte von SSH zu https.

Meine aktuelle Problemumgehung: Normalerweise ist in VSCode ohnehin ein Terminal geöffnet (damit kann ich mit npm usw. interagieren), also mache ich einfach meine git push von dort aus. Es ist nicht so, wie es funktionieren sollte, aber es fordert mich zumindest zur Eingabe meines Passworts auf.

Unter macOS habe ich dies ganz am Ende zu meinem ~/.ssh/config hinzugefügt (was wichtig ist, setzen Sie nichts weiter unten):

Host *
   AddKeysToAgent yes
   UseKeychain yes 

Dann habe ich ein git pull damit macOS nach meinem SSH-Passwort fragt. Danach fragt mich macOS nie wieder nach dem Passwort, daher funktioniert die Versionskontrolle von VSCode ordnungsgemäß.

Hoffe es hilft jemandem.
Prost!

Andere Problemumgehungen:

  • Verwenden Sie plink from putty anstelle von ssh als git ssh commad und verwenden Sie dann pageant, um Schlüssel zu laden
  • Verwenden Sie git über http / https anstelle von git über ssh

Hat jemand eines davon unter Windows ausprobiert?

https://github.com/PowerShell/openssh-portable

Ich benutze win32-openssh, wie oben, um das Problem zu umgehen, indem ich git vom Terminal drücke. Das Fehlen von erkannten ssh: // Pfaden ist ein Problem, das ich bereits eingereicht habe und das damit zusammenhängt. Mein Hauptanwendungsfall ist die Verwendung der Erweiterung sshfs, mit der git und andere Erweiterungen wie Python nicht funktionieren, weil sie nicht wissen, wie sie ssh: // interpretieren sollen

Gibt es einen Plan, um dies zu unterstützen?

Dies ist immer noch ein Problem. Die Problemumgehungen sind nicht für alle eine Option. zB kann (möglicherweise) von anderen auf meinen Computer zugegriffen werden, und daher werde ich meinen Schlüssel nicht entsperren. In meinem Fall fragt git in der Befehlszeile einfach nach dem Passwort. Ich würde sagen, VS Code sollte dasselbe in einem Popup tun.

Eigentlich schockiert, dass dies nach 2 Jahren kein Feature ist, und ich frage mich immer noch, warum dies nicht aufgegriffen und priorisiert wurde.

Derzeit wird die VSC-Version 1.34.0
qwe
und das Problem wurde nicht behoben.

Ich habe dieses Problem auch hier unter Windows 10 immer noch. Ich habe Putty jetzt entfernt, da OpenSSH in Windows 10 enthalten ist, aber VS Code scheint es nicht zu respektieren? Ich muss das Terminal in VSCode manuell drücken und ziehen, was gut funktioniert, aber ich fand es toll, einfach auf eine Schaltfläche klicken zu können, um die Synchronisierung durchzuführen.

@ arcs- Dies wird wahrscheinlich nicht behoben, da git keine Möglichkeit bietet, mit dem untergeordneten SSH-Schlüsselprozess zu interagieren. Wenn Ihre Maschine für andere zugänglich ist, sperren Sie sie, wenn Sie nicht an Ihrem Schreibtisch sitzen. Andernfalls können Sie ssh-agent entweder unter macOS oder Windows starten, um dieses Problem wie hier beschrieben zu umgehen: https://help.github.com/de/articles/working-with-ssh-key-passphrases

@ error600 Dieser Prozess scheint nur zu helfen, wenn ich Code aus demselben git-bash-Fenster

Die Tatsache, dass es über 3 Jahre her ist und dieser Link immer noch gültig ist, scheint unglücklich.
https://nathan.alner.net/2015/08/24/vs-code-ide-with-passphrased-git-ssh-keys/

Wenn Sie code über das Startmenü öffnen, wird der SSH-Agent ignoriert und es kann nicht gezogen / gedrückt werden.

Irgendwelche Vorschläge? Es ist ein ziemlich großer Schmerzpunkt für die derzeitige Entwicklung im Vergleich zu anderen Plattformen.

Die Verwendung von https ist seit einiger Zeit die überlegene Lösung. Es ist genauso sicher, wenn nicht sogar noch sicherer, da Sie bestimmte Token für den Zugriff erstellen können. Der Windows SCM-Manager für Anmeldeinformationen kümmert sich automatisch um alles.

Als Bonus bin ich mir ziemlich sicher, dass HTTPS tatsächlich schneller als SSH ist.

@gdamore : Alle Hinweise auf Beweise, die Ihre Behauptung stützen, dass HTTPS ist
schneller als SSH?

Am Montag, den 17. Juni 2019 um 11:45 Uhr schrieb gdamore [email protected] :

Die Verwendung von https ist seit einiger Zeit die überlegene Lösung. Es ist genauso
sicher, wenn nicht mehr , da Sie bestimmte Token für den Zugriff erstellen können.
Der Windows SCM-Manager für Anmeldeinformationen kümmert sich automatisch um alles.

Als Bonus bin ich mir ziemlich sicher, dass HTTPS tatsächlich schneller als SSH ist.

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/microsoft/vscode/issues/13680?
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AFLBAEOC5BVCGGJ7EDXTINTP265Q7ANCNFSM4CSXV3PQ
.

Nicht speziell mit Git, aber bei anderen Anwendungen (große Dateikopien) haben wir das gesehen. Ich denke, es bezieht sich wirklich auf Dinge, die auf der TCP-Ebene festgelegt wurden, wo SSH Werte zu haben scheint, die für die interaktive Verwendung besser geeignet sind, während HTTP eher für das tatsächliche Verschieben von Dateien optimiert ist, was Git in diesem Fall wirklich tut.

Ich hasse es, das zu sagen, aber es hat auf magische Weise angefangen, für mich zu arbeiten. Ich bin mir nicht sicher, ob SSH über Powershell oder CMD gestartet wurde - ich habe keine Ahnung! Nur ein paar Versuche und dann hat es magisch funktioniert.

Unter Windows können Sie pageant als SSH-Agenten verwenden und dann die env-Variable GIT_SSH auf plink . Beide Tools sind Teil von PuTTY und werden auch mit TortoiseGit gebündelt.

Tut mir auf einem Mac nicht gut

Am Mittwoch, 3. Juli 2019, 11:44 Uhr schrieb Justin [email protected] :

Unter Windows können Sie pageant als SSH-Agenten verwenden und dann env festlegen
Variable GIT_SSH zum Plinken. Beide Tools sind Teil von PuTTY und auch
mit TortoiseGit gebündelt.

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AFBZHXFVMRQ4DBPV2TLBBGTP5TJN7A5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZFAWSQ#issuecomment-508169034 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AFBZHXD63DGD5FUXRJYMLXDP5TJN7ANCNFSM4CSXV3PQ
.

@ Jazun713 Mac funktioniert einwandfrei: https://github.com/microsoft/vscode/issues/13680#issuecomment -473190878

Warum ist das immer noch eine Sache?

wow, also nach 3 Jahren ist es immer noch nicht möglich, VS-Code über ssh zu verbinden, zumindest um ihn über die Kommandozeile zu starten

Nun, ich bin nicht über die Passphrase hinweggekommen, da ich sie nicht festgelegt habe, aber irgendwie konnte ich VSCode zumindest so einstellen, dass sie ssh verwendet, sobald es als Root geöffnet wurde (oder von Windows als Administrator). Dies ist, nachdem ich Openssh installiert oder in Windows die Verbindung mit Putty hergestellt habe. Nachdem ich die Konfiguration des SSH überprüft und installiert habe, finden Sie hier https://help.github.com/de/articles/testing-your-ssh-connection . Bitte beachten Sie dies und es gibt viele nützliche Einblicke, da jeder Fall davon abhängt, wie Sie Ihren SSH-Agenten und das Betriebssystem eingestellt haben (ich verwende Ubuntu 18.04) https://help.github.com/de/articles/ Fehlerberechtigung-verweigert-öffentlicher Schlüssel

Mit Version 1.36.1 kann immer noch keine Verbindung zu Github über SSH mit einer Passphrase hergestellt werden - ich musste die Passphrase von meinem Schlüssel entfernen. Was ist so schwierig? Bei HTTPS fragen Sie nach Git-Benutzer und Passwort ... (mehrmals, weshalb ich es nicht verwenden möchte).

Das ist irgendwie nervig. Die Verwendung eines Passworts mit Ihrem SSH-Schlüssel fördert eine gute Sicherheit. Es ist technisch eine Form von 2FA (was Sie haben: der Schlüssel + was Sie wissen: das Passwort). Ich benutze diesen Editor unter MacOS und es ist wirklich ärgerlich, für alle Git-Operationen in die Konsole zu springen. VS Git UI schlägt einfach fehl. Es sollte eine Passworteingabe erscheinen

Unter macOS habe ich dies ganz am Ende zu meinem ~/.ssh/config hinzugefügt (was wichtig ist, setzen Sie nichts weiter unten):

Host *
   AddKeysToAgent yes
   UseKeychain yes 

Dann habe ich ein git pull damit macOS nach meinem SSH-Passwort fragt. Danach fragt mich macOS nie wieder nach dem Passwort, daher funktioniert die Versionskontrolle von VSCode ordnungsgemäß.

Hoffe es hilft jemandem.
Prost!

Das obige funktioniert für mich. Vielleicht könnte hier eine Notiz eingehen: https://code.visualstudio.com/docs/setup/mac

Dies wäre großartig, um entweder eine Auflösung oder eine ordnungsgemäße Problemumgehung unter Windows zu erhalten.

Die "richtige Lösung" besteht darin, HTTPS-URLs anstelle von SSH zusammen mit dem git-scm-Berechtigungsnachweis-Manager zu verwenden. Funktioniert perfekt für mich.

Von Mail für Windows 10 gesendet

Von: Kai Richardson
Gesendet: Mittwoch, 28. August 2019, 9:33 Uhr
An: Microsoft / Vscode
Cc: gdamore; Erwähnen
Betreff: Betreff: [microsoft / vscode] Unterstützt Git mit Passwort für privaten Schlüssel (# 13680)

Dies wäre großartig, um entweder eine Auflösung oder eine ordnungsgemäße Problemumgehung unter Windows zu erhalten.
- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

@gdamore das ist nicht die richtige Problemumgehung. Dieses Problem betrifft speziell die Verwendung des SSH-Protokolls. Einige Benutzer verwenden möglicherweise einen Git-Server, auf dem die Administratoren keine http (s) Git-Vorgänge zulassen. Daher bietet die Aufforderung zur Verwendung von https keine Lösung für sie.

@ Kai-Richardson Es funktioniert unter Windows, wenn Sie Git so konfigurieren, dass ein SSH-Befehl verwendet wird, der einen SSH-Agenten unterstützt, und den Schlüssel in diesem Agenten öffnen.

  1. TortoiseGit: Setzen Sie die Umgebungsvariable GIT_SSH auf TortoiseGitPlink.exe in Ihrem TortoiseGit-Installationsordner, konvertieren Sie private Schlüssel mit den enthaltenen puttygen.exe in das PPK-Format und öffnen Sie die privaten Schlüssel in pageant.exe . Sie könnten PuTTY anstelle von TortoiseGit verwenden, in diesem Fall GIT_SSH auf plink.exe und Puttygen / Pageant verwenden.
  2. Installieren Sie das offizielle MS OpenSSH ( Link , ich verwende Chocolatey mit aktivierter SSH-Agent-Funktion), starten Sie den SSH-Agent-Dienst, öffnen Sie den privaten Schlüssel mit ssh-add <path to key file> und setzen Sie die env-Variable GIT_SSH auf ssh.exe (normalerweise C:\Program Files\OpenSSH-Win64\ssh.exe ). Mein einziges Problem hier ist, dass es nach der Version 8.0 Probleme beim Lesen privater Schlüssel mit dem herkömmlichen Format ( -----BEGIN RSA PRIVATE KEY----- Format, stattdessen das Format -----BEGIN OPENSSH PRIVATE KEY----- ) zu geben scheint.

Mein Visual Studio-Code wurde aktualisiert und kann über die Anwendung nicht mehr mit meinem Github interagieren. Version 1.37.1

Betriebssystem: Windows 10 Pro: Version: 10.0.17134 Build 17134

Hasst das MS-Team nur SSH?

Welche IDE unterstützt tatsächlich SSH-Passcodes? Weil die Produkte von Jetbrains dies auch nicht tun. Sie haben also zwei der drei größten Anbieter, die SSH-Passcodes nicht nativ unterstützen (und der andere - Github - ich weiß nur nicht, ob ihr Atom-Editor SSH-Passcodes nativ unterstützt).

Am 29. August 2019, um 20.43 Uhr, schrieb Chris Migut [email protected] :

Durch Visual Studio-Code aktualisiert, kann über die Anwendung nicht mehr mit meinem Github interagieren. Version 1.37.1

Hasst das MS-Team nur SSH?

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie auf diese E - Mail direkt, sehen sie auf GitHub https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA#issuecomment-526421988 , oder schalten Sie den Faden https://github.com/notifications/ unsubscribe-auth / ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ .

Habe ich einen Fehler gemacht? Ich starte Kali Linux einfach als Double Boot unter Windows

  1. Nach einem langen Prozess lief alles gut und perfekt, aber irgendwie das
    Gerät verbunden mit Git verbunden und Tag zusammen und wenn ich es versuche
    den Weg bekommen. Booommmmm so viele Dateien werden auf meine Festplatte gezogen ... Was
    es passiert ????

PrinceKK301088

Am Samstag, den 31. August 2019, um 8:59 Uhr, schrieb [email protected] :

Welche IDE unterstützt tatsächlich SSH-Passcodes? Weil die Produkte von Jetbrains
auch nicht. Sie haben also zwei der drei größten Anbieter, die SSH nicht unterstützen
Passcodes nativ (und der andere - Github - ich weiß nur nicht, ob ihre
Der Atom-Editor unterstützt SSH-Passcodes nativ.

Am 29. August 2019, um 8:43 Uhr, Chris Migut [email protected]
schrieb:

Durch Visual Studio Code aktualisiert, kann nicht mehr mit meinem Github interagieren
durch die Anwendung. Version 1.37.1

Hasst das MS-Team nur SSH?

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und sehen Sie sie sich auf GitHub <an
https://github.com/microsoft/vscode/issues/13680?
oder schalten Sie den Thread stumm <
https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ
.

- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AH4ENDPM4O6N2MT3BFLXGRTQHG66NA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4WVM
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AH4ENDORTBRU3GTGOWJFOVLQHG66NANCNFSM4CSXV3PQ
.

Welche IDE unterstützt tatsächlich SSH-Passcodes? Weil die Produkte von Jetbrains dies auch nicht tun. Sie haben also zwei der drei größten Anbieter, die SSH-Passcodes nicht nativ unterstützen (und der andere - Github - ich weiß nur nicht, ob ihr Atom-Editor SSH-Passcodes nativ unterstützt).

Es gibt einen doppelten Thread zu demselben Problem . Jemand sagte, dass Atom SSH-Schlüssel-Passcodes nativ unterstützt: https://puu.sh/B7qHY/57f3c89f47.png

Der Link ist schlüsselgeschützt

von meinem Iphone gesendet

Am 16. September 2019, um 13:32 Uhr, schrieb vitasam [email protected] :

Welche IDE unterstützt tatsächlich SSH-Passcodes? Weil die Produkte von Jetbrains dies auch nicht tun. Sie haben also zwei der drei größten Anbieter, die SSH-Passcodes nicht nativ unterstützen (und der andere - Github - ich weiß nur nicht, ob ihr Atom-Editor SSH-Passcodes nativ unterstützt).

Am 29. August 2019 um 20:43 Uhr wurde Chris Migut @. * > schrieb: Aktualisiert durch Visual Studio Code, kann nicht mehr über die Anwendung mit meinem Github interagieren. Version 1.37.1 Hasst das MS-Team nur SSH? - Sie erhalten dies, weil Sie erwähnt wurden. Antworten Sie auf diese E - Mail direkt, sehen sie auf GitHub <# 13680? Email_source = Benachrichtigungen & email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, oder schalten Sie den Faden https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ.

Es gibt einen doppelten Thread zu demselben Problem. Jemand sagte, dass der Atom den SSH-Schlüssel nativ unterstützt: https://puu.sh/B7qHY/57f3c89f47.png

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

Interessanterweise kann ich den Link öffnen. Der Dialog von Atom:
atom_ssh_key_pass

abgesehen vom Hinzufügen der obigen ssh-Konfigurationseinträge

wenn Windows

Set-Service ssh-agent -StartupType Automatic 

in Powershell
Jetzt sollte der vs-Code nicht mehr auffordern ...

abgesehen vom Hinzufügen der obigen ssh-Konfigurationseinträge

wenn Windows

Set-Service ssh-agent -StartupType Automatic 

in Powershell
Jetzt sollte der vs-Code nicht mehr auffordern ...

Bei diesem Versuch wird ein Berechtigungsfehler angezeigt. Irgendwelche Vorschläge?

Set-Service: Der Dienst 'OpenSSH Authentication Agent (ssh-agent)' kann aufgrund des folgenden Fehlers nicht konfiguriert werden: Der Zugriff wird verweigert
In Zeile: 1 Zeichen: 1
+ Set-Service ssh-agent -StartupType Automatisch
+ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~
+ CategoryInfo: PermissionDenied: (System.ServiceProcess.ServiceController: ServiceController) [Set-Service], ServiceCommandException
+ FullyQualifiedErrorId: CouldNotSetService, Microsoft.PowerShell.Commands.SetServiceCommand

Bei diesem Versuch wird ein Berechtigungsfehler angezeigt. Irgendwelche Vorschläge?

@seantma : PowerShell muss als Administrator ausgeführt werden, um über die erforderlichen Berechtigungen zu verfügen.

abgesehen vom Hinzufügen der obigen ssh-Konfigurationseinträge
wenn Windows
Set-Service ssh-agent -StartupType Automatisch

in Powershell
Jetzt sollte der vs-Code nicht mehr auffordern ...

In meinem Fall hat es nicht geholfen. VCode gibt die folgenden Fehler zurück, als ich versuchte, das lokale Commit mit dem Ursprung (Remote) zu synchronisieren:

fatal: Could not read from remote repository.

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

Es sieht so aus, als ob VCode keine globale GIT-Konfiguration (Name und E-Mail) verwendet, könnte es sein?

Hat dies getan und es funktioniert (nicht mit einem SSH-Schlüssel mit Passphrase getestet):

  • Öffnen Sie ein neues Terminal in Visual Code und wählen Sie den aktuellen Projektordner aus, wenn Sie dazu aufgefordert werden
  • VS öffnet ein Terminal mit Poweshell
  • Führen Sie ssh-keygen.exe aus -> Geben Sie ein, geben Sie ein, geben Sie ein ..... -> Schlüssel, der in .ssh im Ordner des Benutzers erstellt wurde (normalerweise in C: \ Users \)
  • Kopieren Sie den Inhalt des Schlüssels (.ssh / id_rsa.pub) und fügen Sie ihn in den Github-Einstellungen zu einem neuen Schlüssel hinzu

Das ist es

Dies ist keine richtige Lösung, @ leductan-nguyen. Dieses Problem betrifft nicht nur speziell kennwortgeschützte Schlüssel, sondern funktioniert auch nicht, wenn Sie mehrere Schlüssel haben müssen (ich habe einen für GitHub und einen anderen für GitLab).

Irgendwelche Fortschritte mit diesem?

@Badbreaddead , Problemumgehungen veröffentlicht. Dies hängt vom verwendeten Betriebssystem ab:

OS X.

Folgen Sie der Lösung von @ dschu-lab und fügen Sie hinzu

Host *
   AddKeysToAgent yes
   UseKeychain yes 

bis zum Ende von ~/.ssh/config . Wenn Ihr SSH-Schlüssel keinen Standardnamen hat, müssen Sie ihn möglicherweise auch mit IdentityFile /path/to/your/ssh/private/key angeben, wie andere betonten.
Sie werden dann aufgefordert, Ihre Passphrase bei der ersten Verwendung hinzuzufügen, und sie wird dann für alle nachfolgenden Verwendungen im Schlüsselbund gespeichert.

Linux

Installieren Sie Schlüsselanhänger , zB über sudo apt install keychain , wie @ Silentz0r hingewiesen oben . Er führt dann keychain --eval <ssh-key-name> , aber es scheint, dass keychain <path-to-ssh-key> den gleichen Effekt hat. Das Hinzufügen von entweder zu Ihrem .bashrc oder einem gleichwertigen

Windows

@geordanr ‚s Abhilfe ist die einzige, die für mich gearbeitet. Führen Sie die folgenden Befehle in Git Bash aus, um dem Agenten den SSH-Schlüssel hinzuzufügen und Code in derselben Sitzung auszuführen:

$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code

Wenn Sie sich ersparen möchten, jedes Mal die ersten beiden Befehle eingeben zu müssen, können Sie auch so etwas hinzufügen

#use fix path for SSH_AUTH_SOCK so it works more then one instance of gitbash
export SSH_AUTH_SOCK="$TEMP/ssh_agent_socket"

ps | grep ssh-agent > /dev/null
RUNNING=$?;

if [ "$RUNNING" -eq "1" ] 
then
# ssh-agent is not yet running
    eval `ssh-agent -a $SSH_AUTH_SOCK`
fi
ssh-add 

in Ihre ~/.bashrc -Datei in Git Bash, um den ssh-agent automatisch zu starten (von hier übernommen und leicht angepasst). Wenn Ihr Schlüssel keinen Standardnamen hat, müssen Sie den Pfad dazu nach ssh-add angeben, z. B. ssh-add ~/.ssh/id_rsa_personal_key .

Welche IDE unterstützt tatsächlich SSH-Passcodes? Weil die Produkte von Jetbrains dies auch nicht tun. Sie haben also zwei der drei größten Anbieter, die SSH-Passcodes nicht nativ unterstützen (und der andere - Github - ich weiß nur nicht, ob ihr Atom-Editor SSH-Passcodes nativ unterstützt).

Am 29. August 2019 um 20:43 Uhr wurde Chris Migut @ . * > schrieb: Aktualisiert durch Visual Studio Code, kann nicht mehr über die Anwendung mit meinem Github interagieren. Version 1.37.1 Hasst das MS-Team nur SSH? - Sie erhalten dies, weil Sie erwähnt wurden. Antworten Sie auf diese E - Mail direkt, sehen sie auf GitHub <# 13680? Email_source = Benachrichtigungen & email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, oder schalten Sie den Faden https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ .

PyCharm unterstützt meinen SSH-Schlüssel problemlos mit Passphrase. Es hat mich einmal und nie wieder nach der Passphrase gefragt und alle Git-Funktionen funktionieren wie erwartet.

Führen Sie die folgenden Befehle in Git Bash aus, um dem Agenten den SSH-Schlüssel hinzuzufügen und Code in derselben Sitzung auszuführen:

$ eval ssh-agent
$ ssh-add / path / to / key
$ code

Für das, was es wert ist, funktioniert dies auch unter Linux - und es ist nicht erforderlich, code über das Terminal zu starten. Die Verknüpfung wird auch gut tun. Das Terminal selbst kann direkt nach diesen Befehlen geschlossen werden.

Ich kenne mindestens eine andere Problemumgehung:

Installieren Sie ssh-askpass (unter Arch Linux wird dies sowohl vom x11-ssh-askpass als auch von den Seepferdchen- Paketen bereitgestellt, und die Binärdateien befinden sich in /usr/lib/ssh/ssh-askpass bzw. /usr/lib/seahorse/ssh-askpass ). Die Installation eines dieser Pakete ist alles, was benötigt wird. VS Code startet den Kennwortdialog jedes Mal, wenn er benötigt wird.

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Ich hätte schwören können, dass dies der Meilenstein im Januar 2020 war . 😕

Hinzufügen zu diesem https://github.com/microsoft/vscode/issues/13680#issuecomment -559013132

Da Bash Sie bei jeder Anmeldung auffordert, Ihre Passphrase einzugeben, können Sie VSCode in einer Verknüpfung durch Bash verketten. Verwenden Sie für das Symbol einfach das mit VSCode gelieferte Symbol, wahrscheinlich unter% LOCALAPPDATA% \ Programs \ Microsoft VS CodeCode.exe

Wenn ssh-agent bereits ausgeführt wird, wird der Code sofort gestartet. Wenn nicht, wartet es darauf, dass Sie Ihre Passphrase eingeben.

image

Ich würde gerne dabei helfen. Es ist eines der wenigen Dinge, die ich mir noch von VSCode gewünscht habe, aber auch ohne es spielt keine Rolle, ich genieße es immer noch, VSCode zu verwenden, also danke!

Wussten Sie, dass Git-for-Windows mit einem Skript namens start-ssh-agent geliefert wird? Es befindet sich im cmd-Ordner , der normalerweise bei einer Standardinstallation von Git-for-Windows zum Pfad des Benutzers hinzugefügt wird. Vielleicht gibt es eine Möglichkeit, dies zu verwenden, um dieses Problem zu beheben?

Ich frage mich, ob mich jemand auf eine Ereigniskette hinweisen kann, die auftritt, wenn Sie auf die Push / Pull-Taste klicken. Vielleicht können wir versuchen, dieses Skript auszuführen, möglicherweise im vscode-Terminal oder in einem Popup.

Als zusätzliches Plus: Wenn der Benutzer ssh-agent bereits gestartet hat, findet das Skript es normalerweise und verwendet nur den vorhandenen Agenten, sodass nicht einmal eine Passphrase erforderlich ist.

Vielen Dank!

https://github.com/microsoft/vscode/issues/13680#issuecomment -525861890 hat auch bei mir funktioniert, ist aber nicht sehr einfach und erschwert die Sache, wenn Sie Git für Windows Git und Bash verwenden.

Was ich über das Problem gefunden habe und eine Zusammenfassung der möglichen Lösungen

Das Hauptproblem in Windows + Git für Windows (GfW) + VSCode + SSH Git Repo ist folgendes:

  • Wenn Sie zuvor weder den Windows- noch den GfW-SSH-Agenten gestartet haben (oder keinen Helfer / Dienst haben), scheint er nicht in der Lage zu sein, SSH-Agent und SSH-Add zu starten. Vielleicht liegt es nicht in der Verantwortung von VSCode, aber es ist schön zu wissen oder aufgefordert zu werden, dass ssh nicht ausgeführt wird.
  • Wenn Sie den GfW-ssh-Agenten über eine .bashrc-Datei gestartet haben und VSCode über das Startmenü / die Verknüpfung und nicht über dieselbe Sitzung (wie das Ausführen von code über die CLI) gestartet haben, wird VSCode nicht abgerufen Zugriff auf den GfW-SSH-Agenten.
  • Wenn Sie die Windows-Version von ssh-agent gestartet und GfW installiert haben, verwendet das GfW-Git standardmäßig nicht die Windows-Version von ssh-agent, da es auch eine eigene Version von ssh-Tools enthält. VSCode scheint das GfW-Git zu verwenden, wenn es verfügbar ist. Daher wird möglicherweise nicht erkannt, dass der Windows-SSH-Agent bereits ausgeführt wird (mit hinzugefügten Schlüsseln), und verwendet diesen.

Lösung 2 ist nett, aber es ist auch nicht besonders einfach. Dies sind die Schritte, die ich unternommen habe:

  1. Installieren Sie OpenSSH Client unter Optionale Funktionen
  2. Fügen Sie GIT_SSH in Umgebungsvariablen hinzu und verweisen Sie auf die OpenSSH-Client-Tools, wahrscheinlich C: \ Windows \ System32 \ OpenSSHssh.exe
  3. Schalten Sie den Open SSH-Agenten unter Dienste auf Automatisch um (wenn er deaktiviert ist, war meiner)
  4. Führen Sie ssh-add in PowerShell aus, und Ihr Schlüssel sollte hinzugefügt werden
  5. VSCode sollte nun in der Lage sein, Git-Sachen mit dem SSH-Repo zu machen
  6. GfW git und bash verwenden diesen Agenten jedoch nicht (ich habe versucht, die bash env GIT_SSH auf die Windows OpenSSH-Tools zu verweisen, aber sie weigern sich, zusammenzuarbeiten). Daher müssen Sie das Skript .bashrc verwenden, um den Agenten zu starten und die Passphrase einzugeben ein anderes Mal beim Starten der GfW-Bash.

Im Moment bleibe ich bei Lösung 1, da ich auch Mac- und Linux-Systeme verwende und es schön ist, überall die gleichen Bash / Git / SSH-Tools zu haben.

Ich habe versucht, das Git-for-Windows-Skript mit dem Namen start-ssh-agent.cmd im cmd-Ordner mit Code.exe in der Verknüpfung als %COMSPEC% /C %LOCALAPPDATA%\Programs\Git\cmd\start-ssh-agent.cmd && "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" und es funktioniert, aber es hat diese seltsame Seite Effekt des Öffnens einer zweiten Instanz von VSCode nach dem Beenden der ersten Instanz, aber ich weiß nicht warum.

Wenn ich diese Zeile vom Windows-Terminal aus ausführe (mit oder ohne %COMSPEC% /C ), funktioniert sie einwandfrei.

Eine andere Sache, die ich versuchte, war, eine *.bat oder *.cmd Datei mit dem gleichen Befehl wie die Verknüpfung zu erstellen, aber ich war überrascht, dass es nicht funktionierte. VSCode startet, kann aber nicht ziehen / drücken und antwortet mit der gefürchteten "Berechtigung verweigert (öffentlicher Schlüssel)". Error.

Ich habe auch einige Zeit damit verbracht, die Git-Erweiterungscodebasis zu durchsuchen, aber ich konnte nicht herausfinden, wo ich das ssh-start-agent-Skript einfügen soll, idealerweise, wenn ich nach der Version von Git suche und finde, dass sie unter Windows läuft , git --version ausführt, könnte es auch cp.exec('start-ssh-agent.cmd') ausführen, aber es müsste eine Möglichkeit geben, die Passphrase vom Benutzer zu erhalten.

Schließlich , Kopieren von Namen vscode-ssh-agent.cmd und Ersetzen Sie wo es nennt CMD mit <strong i="25">@call</strong> "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" . Aber ich kann es nicht an die Taskleiste anheften.

Ich versuche derzeit, diese Funktion zu implementieren. Es ist noch in Arbeit, aber ich sollte bald eine PR zur Verfügung haben.

Im Moment starte ich einen SSH-Agenten, füge den Benutzerschlüssel hinzu, wenn git.sshPrivateKeyPath festgelegt ist, fordere den Benutzer auf Anfrage zur Eingabe seines SSH-Schlüsselkennworts auf und verwende die Umgebungsvariablen des Agenten für jeden Git-Aufruf.
Meine ersten Tests auf einem Windows-Computer scheinen zu funktionieren.

Ich habe alle Kommentare hier gelesen, aber möglicherweise etwas vergessen. Bitte zögern Sie nicht, eine Bemerkung zu machen.

Hinzufügen zu https://github.com/microsoft/vscode/issues/13680#issuecomment -583599355 von @weiliddat; Ich selbst verwende häufig den Kontextmenüeintrag "Mit VSCode öffnen" (Rechtsklick auf Ordner) und habe ContextEdit verwendet , um einen Kontextmenüeintrag beim Öffnen von Ordnern mit VSCode zu bearbeiten, um ihn über Git Bash zu starten, sodass VSCode Zugriff auf den SSH-Kontext hat.

  1. Installieren Sie ContextEdit .
  2. Führen Sie ContextEdit als Administrator aus
  3. Suchen Sie "Dateiordner" in der langen Liste der Erweiterungen.
    image
  4. Doppelklicken Sie unter "Shell-Befehle" auf den Eintrag "Open w & th Code".
  5. Ändern Sie die Zeichenfolge "Befehlszeile" in "C:\Program Files\Git\bin\bash.exe" -l -c "code '%V';exit" . Stellen Sie sicher, dass "C:\Program Files\Git\" Ihrem Git for Windows-Installationsverzeichnis entspricht. Möglicherweise möchten Sie den alten Befehl kopieren, falls Sie ihn zurücksetzen müssen.
  6. Klicken Sie auf "OK" und "Beenden"

Wenn Sie nun mit der rechten Maustaste auf einen Ordner klicken, um "Mit VSCode öffnen", sollte dies zuerst Git Bash starten und anschließend VSCode im richtigen Ordner öffnen. Wenn Sie Git Bash so eingerichtet haben, dass Ihr SSH-Agent vor dem Start von Git Bash gestartet wird , sollten Sie aufgefordert werden, die Passphrase bei jedem Neustart Ihres Computers einmal einzugeben. Beim anschließenden Öffnen sollte dies VSCode direkt öffnen und Ihren SSH-Schlüssel einrichten.

Ich konnte den ContextEdit-Eintrag nicht finden, wenn ich mit der rechten Maustaste in einen Ordner im Explorer klickte, anstatt direkt mit der rechten Maustaste auf den Ordner selbst zu klicken.

Diese Lösung funktioniert wie ein Zauber.

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

https://github.com/microsoft/vscode/issues/13680#issuecomment -575204695
Das löst es! Vielen Dank!

Bitte überprüfen Sie diesen Abschnitt . Kurz gesagt heißt es, dass Sie VSCode von GitBash oder ähnlichem starten müssen, um die erforderlichen Umgebungsvariablen zu haben. Wenn Sie diese Variablen in GitBash aktiviert haben, erhalten Sie möglicherweise Folgendes:
.

Zum Beispiel, wenn Sie nicht verwenden GitBash starten VSCode jedes Mal (weil dieser Unsinn! IMHO), dann ist es möglich , diese mit hinzuzufügen Environment Variables Fenstern oder mit einem Befehl rundll32.exe sysdm.cpl,EditEnvironmentVariables (dh durch cmd.exe).

Im Ergebnis könnte es so aussehen:

Starten Sie jetzt einfach VSCode neu (nicht neu laden) und es sollte funktionieren:

Komische Sache, dass es funktioniert, auch wenn DISPLAY=WTHeck , also könnte es nur nach der Existenz dieser Variablen suchen.

Warum definieren Sie diese nicht einfach ( private key file path oder SSH_ASKPASS ) als JSON Konfigurationswert irgendwo als Problemumgehung, damit die VSCode diese beim Start anhängen seine internen Umgebungsvariablen?

Ich bin nicht sehr vertraut mit der Funktionsweise von Elektronen- oder Windows-Anwendungen, aber es wäre möglich, einen Wrapper um diese Lösung zu entwickeln, sodass diese Einstellungen bei der Installation von VSCode automatisch konfiguriert werden.

TBH scheint mir nicht so schwierig zu sein, aber wenn man bedenkt, wie diese Diskussion seit 4 Jahren andauert, ist es wahrscheinlich ein Problem. Es wäre cool zu sehen, wie VSCode zumindest etwas implementiert, damit Benutzer diese hübsche Standard-Git-Funktion verwenden können, ohne ihre eigenen Problemumgehungen vornehmen zu müssen. Ich sehe jedoch einen Punkt darin, es beim ersten Mal richtig umzusetzen.

Vielen Dank an soufiene-slimi für Ihre Problemumgehungslösung und an F8ER für die Klarstellung. Obwohl es eine Inkonsistenz der Benutzeroberfläche gibt, funktioniert sie zumindest

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Irgendwas Neues hier? Ich habe gerade angefangen, mit VSCode an WSL 2 und Git zu arbeiten. Und weil VSCode jedes Mal einfriert, wenn ich versuchte, etwas zu pushen oder zu veröffentlichen, habe ich es auf dem Terminal versucht und es hat großartig funktioniert, weil ich dort die Möglichkeit hatte, meine Passphrase einzugeben.

Dieses Problem ist so alt und hat viele Kommentare. Vielleicht ist irgendwo eine gute Problemumgehung, ohne die Passphrase von meinem Schlüssel zu entfernen und ohne den Schlüssel irgendwo in den Konfigurationen zu speichern.

Hallo Leute,

Ich bin auch auf meinem Mac auf dieses Problem gestoßen.
Ich habe einen RSA-Schlüssel eingerichtet und meine Konfiguration sieht so aus

# GitLab.com
Host gitlab.com
  Preferredauthentications publickey
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

Die Sache ist vom VS-Code-Terminal, wenn ich mit CLI zum Ursprung pushe, wird mein Code erfolgreich mit der Aufforderung zur Eingabe eines Passworts gepusht.
Das Problem tritt auf, wenn ich die VScode-GUI zum Ziehen / Drücken / Synchronisieren verwende

Please make sure you have the correct access rights
and the repository exists.
> git push -u origin v1.5_Testing
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Der einzige Unterschied besteht darin, dass die GUI nicht zur Eingabe eines Kennworts auffordert, weshalb ich davon ausgehe, dass es fehlschlägt.

[email protected] : Berechtigung verweigert (publickey).
...
Der einzige Unterschied besteht darin, dass die GUI nicht zur Eingabe eines Kennworts auffordert, weshalb ich davon ausgehe, dass es fehlschlägt.

@mohammedpatla Bitte überprüfen Sie dies .

Diese Lösung mit Umgebungsvariablen hilft mir nicht. Ich habe Git nicht unter Windows installiert, sondern unter Ubuntu 20.04, das unter WSL2 ausgeführt wird. Es gibt nirgendwo ein Verzeichnis mit dem Namen mingw64 oder eine Binärdatei mit dem Namen git-gui--askpass .

Daher denke ich auch, dass die Lösung auch auf einem Mac nicht funktioniert, @ F8ER .

Ich kann VScode nicht über Git-Bash auf einem Mac @ F8ER ausführen

Diese Lösung mit Umgebungsvariablen hilft mir nicht. Ich habe Git nicht unter Windows installiert, sondern unter Ubuntu 20.04, das unter WSL2 ausgeführt wird. Es gibt nirgendwo ein Verzeichnis mit dem Namen mingw64 oder eine Binärdatei mit dem Namen git-gui--askpass .

Ich kann VScode nicht über Git-Bash auf einem Mac ausführen

Wissen Sie, was Environment Variable ?
@NicolasGoeddel Vielleicht Link von ubuntu.com überprüfen .
@mohammedpatla Vielleicht Link von apple.com überprüfen.

Ebenfalls. Bitte versuchen Sie es zuerst mit Google . Zum Beispiel kann ein Fehlen von git-gui--askpass bedeuten, dass kein Paket git-gui installiert ist. Daher müssen Sie es möglicherweise installieren.

Diese Lösung mit Umgebungsvariablen hilft mir nicht. Ich habe Git nicht unter Windows installiert, sondern unter Ubuntu 20.04, das unter WSL2 ausgeführt wird. Es gibt nirgendwo ein Verzeichnis mit dem Namen mingw64 oder eine Binärdatei mit dem Namen git-gui--askpass .

Ich kann VScode nicht über Git-Bash auf einem Mac ausführen

Wissen Sie, was Environment Variable ?
@NicolasGoeddel Vielleicht Link von ubuntu.com überprüfen .
@mohammedpatla Vielleicht Link von apple.com überprüfen.

Ebenfalls. Bitte versuchen Sie es zuerst mit Google . Zum Beispiel kann ein Fehlen von git-gui--askpas bedeuten, dass kein Paket git-gui installiert ist.

Natürlich weiß ich, was Umgebungsvariablen sind. Aber warum sollte ich eine GUI-Anwendung auf einem Linux-Computer installieren, auf dem WSL2 ausgeführt wird, wenn diese GUI nicht ausgeführt werden kann? Bei einer kopflosen Maschine ist das einfach nicht möglich. Bitte lesen Sie meine Beiträge beim nächsten Mal genauer durch.

Dieser git-gui Trick ist in meinem Szenario einfach nicht die richtige Problemumgehung. Aber vielleicht funktioniert es auf dem Mac, wenn VSCode und das Repository nativ in derselben Umgebung ausgeführt werden. Dann muss @mohammedpatla nur noch git-gui auf seinem System installieren und die Umgebungsvariablen ändern.

Natürlich weiß ich, was Umgebungsvariablen sind. Aber warum sollte ich eine GUI-Anwendung auf einem Linux-Computer installieren, auf dem WSL2 ausgeführt wird, wenn diese GUI nicht ausgeführt werden kann? Bei einer kopflosen Maschine ist das einfach nicht möglich.
Dieser git-gui Trick ist in meinem Szenario einfach nicht die richtige Problemumgehung.

Warum versuchen Sie dann, VSCode auf einem Nicht-GUI-Computer auszuführen, oder fehlt mir etwas?
Vielleicht möchten Sie sich auch dieses ansehen .

Funktioniert gut auf meinem Mac, egal wie ich vscode starte, aber ich habe den ssh-agent aktiviert und mit meinem Schlüsselbund für Anmeldeinformationen verbunden, damit er automatisch gestartet wird.

Ich habe nicht versucht, aus der WSL zu ziehen / zu drücken, aber ich verwende die Impfstoff-Fernverbindung. Ich kann Guy-Anwendungen von WSL mit VcXsrv ausführen, aber das ist irrelevant.

Wird der SSH-Agent in Ihrer WSL gestartet? Starten Sie Ihr WSL-Terminal und sehen Sie sich .bashrc oder .bash_prifile , falls diese in Ihrem Home-Ordner vorhanden sind. Dann füge hinzu:

eval `ssh-agent`
ssh-add

Vielleicht hilft das, aber vielleicht auch nicht. Bei der Verwendung von wsl habe ich festgestellt, dass einige Dinge einfach nicht funktionieren. Halten Sie Ihr Terminal offen und synchronisieren Sie Ihre Repos manuell

Ich denke, das geht zu weit, nicht wahr? Wir haben bereits Problemumgehungen. Die richtige Lösung wäre, wenn VS Code das Kennwort nativ auffordert, genauso wie dies bereits für den normalen Benutzernamen / Pass der Fall ist.

/ cc @ alarr46 , was sagst du?

Natürlich weiß ich, was Umgebungsvariablen sind. Aber warum sollte ich eine GUI-Anwendung auf einem Linux-Computer installieren, auf dem WSL2 ausgeführt wird, wenn diese GUI nicht ausgeführt werden kann? Bei einer kopflosen Maschine ist das einfach nicht möglich.
Dieser git-gui Trick ist in meinem Szenario einfach nicht die richtige Problemumgehung.

Warum versuchen Sie dann, VSCode auf einem Nicht-GUI-Computer auszuführen, oder fehlt mir etwas?
Vielleicht möchten Sie sich auch dieses ansehen .
Du hast mich misverstanden. VSCode läuft unter Windows und die von mir entwickelte Anwendung und ihre Quellen laufen unter WSL 2.
Aber danke für deinen Link. Ich wusste nicht, wie man Git-Anmeldeinformationen zwischen Windows und WSL teilt. Ich werde das testen.

Auf der anderen Seite ist @ranolfi richtig. All dies sind immer noch Problemumgehungen. Es wäre besser, das ganze Problem zu beheben. :-)

Ja, ich möchte, dass dies auch nativ in VSCode implementiert wird. Eine Aufforderung wäre sehr dankbar.

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Bevor Sie sich fragen, ob vor den doppelten Strichen ein Leerzeichen stehen soll oder nicht, sollte es kein Leerzeichen geben. es sieht so aus, als ob es ein Parameter sein sollte, aber ich glaube, es ist tatsächlich ein Dateiname ... kein Leerzeichen

Fügen Sie einfach die folgenden Schlüssel zu Ihrer Umgebung hinzu:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Bevor Sie sich fragen, ob vor den doppelten Strichen ein Leerzeichen stehen soll oder nicht, sollte es kein Leerzeichen geben. es sieht so aus, als ob es ein Parameter sein sollte, aber ich glaube, es ist tatsächlich ein Dateiname ... kein Leerzeichen

Ich denke, das geht zu weit, nicht wahr? Wir haben bereits Problemumgehungen. Die richtige Lösung wäre, wenn VS Code das Kennwort nativ auffordert, genauso wie dies bereits für den normalen Benutzernamen / Pass der Fall ist.

/ cc @ alarr46 , was sagst du?

Ich werde nur auf die offizielle Veröffentlichung warten und bis dahin Git-CLI verwenden.

Ich denke, das geht zu weit, nicht wahr? Wir haben bereits Problemumgehungen. Die richtige Lösung wäre, wenn VS Code das Kennwort nativ auffordert, genauso wie dies bereits für den normalen Benutzernamen / Pass der Fall ist.

/ cc @ alarr46 , was sagst du?

Ich stimme zu, das habe ich in dieser Pull-Anfrage implementiert. Es muss jedoch noch überprüft werden.

Ich stimme zu, das habe ich in dieser Pull-Anfrage implementiert. Es muss jedoch noch überprüft werden.

Sehr schöner Start. Vielen Dank! Rakete.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen