Die Verbindung zum Git-repository mit SSH mithilfe von Visual Studio 2017
Ich versuche, eine Verbindung zu einem Git-repository (auf Bitbucket) mit SSH von Visual Studio 2017 (die, soweit ich weiß, unterstützt SSH, Git). Ich habe alles eingerichtet, das repository geklont auf meinem computer, und ich Begehen kann, aber wenn ich versuche etwas zu machen, Holen Sie scheitert mit der folgenden Meldung (aus Visual Studio die "Output" - Fenster):
Error encountered while fetching: Git failed with a fatal error.
fatal: Could not read from remote repository.
Versucht es aus der Eingabeaufforderung bekomme ich diese etwas aussagefähigere Meldungen:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Aus der Git Bash habe ich versucht, die öffnung der SSH-agent hinzufügen meine privaten Schlüssel zu Holen, und es scheint zu funktionieren (oder zumindest ich bekomme keine Nachrichten, im Gegensatz zu, wenn der agent nicht gestartet wurde oder der Schlüssel nicht Hinzugefügt):
eval `ssh-agent`
ssh-add ~/.ssh/xxxx
git fetch
Aber Visual Studio ist noch nicht in der Lage zu verbinden. Ich habe auch versucht, das gleiche zu tun, von der Windows-Eingabeaufforderung:
ssh-agent
set SSH_AUTH_SOCK=/tmp/ssh-SIAryCa61iz9/agent.11128
set SSH_AGENT_PID=9804
ssh-add xxxx
git fetch
Aber ich bekomme immer noch den gleichen Fehler.
Ich schon Hinzugefügt, die öffentlichen Schlüssel zu Bitbucket, und ssh -T [email protected]
hat Ausgang "angemeldet als xxxx". Auch kann ich die Verbindung korrekt mit SourceTree und das hinzufügen des privaten Schlüssels zu Pageant (der Schlüssel, den ich für ssh-add
hat die erforderlichen OpenSSH-format, erstellt habe ich es aus der .ppk).
InformationsquelleAutor Trisibo | 2017-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es endlich geschafft, es zu schaffen, mit PuTTY ' s Pageant authentication agent statt
ssh-agent
, und die Schritte erwähnt hier (es ist für Visual Studio den Code, funktioniert aber für Visual Studio 2017 und ich denke, es sollte funktionieren, für jede Anwendung, die verwendet die "offizielle" Git für Windows).Da hatte ich schon Festzug installiert und eine .ppk privaten Schlüssel erstellt, ich hatte nur um Git verwenden, Festzug, durch die Schaffung der
GIT_SSH
Windows-Umgebungsvariable und setzen Sie es auf den Pfad der "plink.exe" Datei (innerhalb der PuTTY-installation, zum BeispielC:\Program Files (x86)\PuTTY\plink.exe
). Damit fertig, ich muss nur öffnen Sie Pageant und fügen Sie den privaten Schlüssel (und offen lassen, während der Arbeit mit dem repository), und Visual Studio wird in der Lage sein zu verbinden und Befehle nur in Ordnung.InformationsquelleAutor Trisibo
gibt es einen anderen Weg, der für mich arbeitet.
scheint VS2017 führen Sie ssh-Verbindung auf seine eigene, so wird es ignoriert-Schlüssel, ssh-add Hinzugefügt, und verwenden Sie die Standard-path-key nur
Ja, ich erstellen repository benutzen Sie "git init --bare" auf dem server, und der Zugriff über ssh://server-ip/Pfad/repository.git. Der ssh-Schlüssel wird verwendet, um den login auf diesem server.
Und wenn Sie, entfernen Sie die id_rsa-Datei, die es nicht?
Es wird ein popup-Fenster, lassen Sie mich geben Sie die passphrase ein, wenn ich entfernt id_rsa-Datei. Die passphrase nicht für den key, sondern für den server.
Dies scheint die einfachste Lösung, kopierte ich die Dateien mit Bash unter Ubuntu auf Windows: cp ~/.ssh/* /mnt/c:/Users/[Benutzer]/.ssh -/
InformationsquelleAutor Raven
Gut, konnte ich nicht finden den direkten Weg zu konfigurieren Git-repository mit VS 2017 als Clone-option akzeptiert nur die URI, nicht die SSH.
Habe ich Folgendes:
Git Bash, die zum generieren der Schlüssel, die Sie möglicherweise finden hier.
Es ist eine andere URI für jedes repository zu Klonen, es mit SSH - aber es ist immer noch eine URI. Sie können beides finden, indem Sie zwischen "SSH Verwenden" und "Use HTTPS" Github "- Klon oder download" pop-up.
InformationsquelleAutor Rahul Shanbhag
Hier ist eine Lösung, die es erlauben würde, mit Visual Studio (Git) mehrere repositories über SSH, mit dem separaten privaten Schlüssel wenn erforderlich und ssh authentication agent zu handhaben, die Tasten' Passphrasen.
Es ist gut für die Anwender im Unternehmen, weil Sie nicht benötigen administrator-Rechte auf Ihrem computer haben, befolgen Sie die nachstehenden Schritte.
Es wird erklärt, auf B. von Bitbucket, aber kann erweitert werden, um Github und nichts anderes.
Voraussetzungen
Herunterladen und installieren Git
Auf das öffnen eines Projekts in Visual Studio bitten Sie zu herunterladen und installieren Git-Paket. Man könnte dies über einen link in einem Visual Studio-Benachrichtigung, oder mit diesem link.
Git installieren nur für den aktuellen Benutzer.
Verwenden Sie installation Optionen standardmäßig.
Erzeugen Sie Ihren privaten/öffentlichen Schlüssel-pair-Mädchen
"%LOCALAPPDATA%\Programme\Git\usr\bin\"
zum Beispiel:
"C:\Users\NSM\AppData\Local\Programs\Git\usr\bin\"
Öffnen Sie die Eingabeaufforderung, und wechseln Sie in den Ordner, den Sie gefunden:
Erstellen Sie einen Ordner zum speichern Ihre Schlüssel, wenn es nicht vorhanden
Generieren eines neuen ssh-Schlüssel:
Beispiel:
Ist es ratsam, geben Sie key-passphrase. Erinnern Sie sich die passphrase, Sie werden nicht in der Lage, Sie wiederherzustellen, wenn vergessen!
Fügen Sie Ihren öffentlichen Schlüssel an Bitbucket
ssh-rsa AAAAB3Nza<skipped>BkPqxFQ== nsm
Konfigurieren von ssh zu verwenden Sie Ihre Schlüssel für Bitbucket-source-code-Anforderungen
Erstellen config Datei in der "%HOME%/.ssh/" Ordner mit dem folgenden Inhalt:
Beispiel:
Ausgabe:
AddKeysToAgent ja option hinzufügen werden die konfigurierten privaten Schlüssel des ssh authentication agent auf Nachfrage
Konfigurieren Sie Git mit ssh authentication agent
Eingabe der passphrase jedes mal, wenn der private Schlüssel verwendet wurde, ist eine mühsame Last. Um zu vermeiden, dass wir die Verwendung des ssh authentication agent
In den Ordner, wo das Programm ssh-keygen gefunden wurde (standardmäßig ist es:
"%LOCALAPPDATA%\Programme\Git\usr\bin\"), erstellen ssh.cmd - Datei mit dem folgenden Inhalt:
Dieses Skript lädt die ssh authentication agent vor ssh.exe ist ausgeführt und ermöglichen ssh.exe mit ihm kommunizieren über socket angegeben, die in der environment-variable SSH_AUTH_SOCK.
Aus der Eingabeaufforderung führen Sie folgenden Befehl aus:
Erstellen Sie eine Fernbedienung für Ihr lokales repository über den Bitbucket link
Ersetzen Sie FQDN in der Verknüpfung mit einem label, das Sie in der ./ssh/config - Datei. Das wird Ihnen erlauben, zu verwenden config-Abschnitte mit mehreren Tasten verwenden, wenn eine Verbindung zu Bitbucket oder Github-repositories
Alles Getan
InformationsquelleAutor Sergey Nudnov
Dieser Weg war für mich (VS 2017 /Win7):
InformationsquelleAutor ndberg
In VS2017
Hatte ich dasselbe problem.ich habe versucht, ein paar Methode zur Lösung :
aber nicht mein problem gelöst.
Und ich öffnete "Visual Studio Installer" und repariert.es wurde gelöst.
InformationsquelleAutor ahmeticat