it-swarm.com.de

Verwendung von git mit ssh-agent unter Windows

Ich bin unter Windows. Ich habe git und posh-git installiert (einige Helfer für Windows PowerShell). Ich kann Schlüssel mit ssh-add hinzufügen und mich mit github und meinem Webserver authentifizieren. Ich kann auch git aus der PowerShell verwenden, um mit meinen Repositorys zu interagieren.

Aber eines kann ich nicht machen: Ich verwende git-plus für den Atom-Editor. Und ich bekomme es nicht zu Push zu meinem Repo. Was ist mein problem

17
LuMa

posh-git und git für Windows 2.7 sollte alles enthalten, was Sie zum Einrichten eines ssh-agent benötigen. Sobald Sie das Modul installiert haben, können Sie den Agenten folgendermaßen starten:

Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\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"
Start-SshAgent -Quiet

Dann sollte die Umgebungsvariable SSH_AUTH_SOCK gesetzt sein:

C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK

Name                           Value
----                           -----
SSH_AUTH_SOCK                  /tmp/ssh-6ORcVQvRBZ2e/agent.11668

Welches Paket sollte das git-plus atom-Paket verwenden können, wenn Sie Befehle ausführen. Ich konnte Strg + Umschalt + H verwenden, um das Git-Menü in Atom aufzurufen, Push auswählen und dann auf Remote Repo drücken (es werden keine Fehler angezeigt, wenn es fehlschlägt, aber der neue Zweig, den ich gedrückt habe, war dort) . 

Der ssh-agent muss gestartet werden, BEVOR Sie das Atom öffnen, damit die Umgebungsvariable SSH_AUTH_SOCK gesetzt wird. Wenn es immer noch nicht funktioniert, können Sie ssh in PowerShell testen, um zu überprüfen, ob eine Verbindung ohne Kennwort möglich ist:

Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
ssh hostname
31
Greg Bray

Sie können den ssh-agent mit dem Befehl ausführen, der mit Git für Windows in Powershell geliefert wird:

 start-ssh-agent.cmd

Damit wird der ssh-agent gestartet.

Dann können Sie Ihren Schlüssel mit hinzufügen

 ssh-add ~/.ssh/namneOfPrivateKey

Gefunden hier: https://docs.Microsoft.com/en-us/Azure/devops/repos/git/use-ssh-keys-to-authenticate?view=Azure-devops

7
Garry Polley

Das Problem ist, dass git die Datei ssh_agent.exe nicht gefunden hat, die die Anmeldeinformationen angegeben hat

  1. Das Dateisystem ssh_agent.exe wurde durchsucht 
  2. Der Pfad wurde als Umgebungspfad in der Datei profile.example.ps1 hinzugefügt

$env:path += ";" + "C:\Program Files\Git\usr\bin"

0