it-swarm.com.de

Wie kann ich ssh-add auf Windows ausführen?

Ich verfolge # 335 Bereitstellung auf einem VPS . Am Ende der Episode müssen wir ssh-add ausführen, um dem Server Zugriff auf Github Repo zu gewähren.

Das Problem ist, wie kann ich es in Windows ausführen? Was muss installiert werden?

Ich weiß, dass ich ssh ausführen kann, um auf den Remote-Server zuzugreifen. Ich kann PuTTY verwenden. Dieser Befehl muss jedoch lokal ausgeführt werden. Ich weiß, wie PuTTY verwendet werden muss.

19
cqcn1991

Man könnte Git für Windows installieren und anschließend ssh-add ausführen:

Schritt 3: Schlüssel zum ssh-agent hinzufügen

So konfigurieren Sie das ssh-agent-Programm für die Verwendung Ihres SSH-Schlüssels:

Wenn Sie GitHub für Windows installiert haben, können Sie damit Repositorys klonen und nicht mit SSH-Schlüsseln umgehen. Es kommt auch mit dem Git Bash-Tool, das die bevorzugte Art ist, git-Befehle unter Windows auszuführen.

  1. Stellen Sie sicher, dass der ssh-agent aktiviert ist:

    • Wenn Sie Git Bash verwenden, aktivieren Sie ssh-agent:

      # start the ssh-agent in the background
      ssh-agent -s
      # Agent pid 59566
      
    • Wenn Sie eine andere Terminal-Eingabeaufforderung verwenden, z. B. msysgit, aktivieren Sie den ssh-agent:

      # start the ssh-agent in the background
      eval $(ssh-agent -s)
      # Agent pid 59566
      
  2. Fügen Sie Ihren SSH-Schlüssel zum ssh-agent hinzu:

    ssh-add ~/.ssh/id_rsa
    
23
RaymondChou

Originalantwort

Stellen Sie sicher, dass Sie Git installiert haben und den Ordner cmd von git in Ihrem PATH haben. Auf meinem Computer lautet der Pfad zu gds cmd-Ordner beispielsweise C:\Program Files\Git\cmd

Stellen Sie sicher, dass sich Ihre id_rsa-Datei im Ordner c:\users\yourusername\.ssh befindet.

Starten Sie Ihre Eingabeaufforderung neu, wenn Sie dies noch nicht getan haben, und führen Sie dann start-ssh-agent aus. Es wird Ihren id_rsa finden und Sie zur Eingabe der Passphrase auffordern

Update 2019 - Eine bessere Lösung für Windows 10: OpenSSH ist als Teil von Windows 10 verfügbar, was die Verwendung von SSH von cmd/powershell meiner Meinung nach viel einfacher macht. Im Gegensatz zu meiner vorherigen Lösung ist git auch nicht auf die Installation von git angewiesen.

  1. Öffnen Sie Manage optional features aus dem Startmenü und vergewissern Sie sich, dass Sie Open SSH Client in der Liste haben. Wenn nicht, sollten Sie es hinzufügen können.

  2. Öffnen Sie Services im Startmenü

  3. Scrollen Sie nach unten zu OpenSSH Authentication Agent> Rechtsklick> Eigenschaften

  4. Ändern Sie den Starttyp von Deaktiviert in eine der drei anderen Optionen. Ich habe meine auf Automatic (Delayed Start) gesetzt

  5. Öffnen Sie cmd und geben Sie where ssh ein, um zu bestätigen, dass sich der oben aufgeführte Pfad in System32 befindet. Meine ist bei C:\Windows\System32\OpenSSH\ssh.exe installiert. Wenn es nicht in der Liste enthalten ist, müssen Sie möglicherweise Cmd schließen und erneut öffnen.

Nachdem Sie diese Schritte ausgeführt haben, sollten ssh-agent, ssh-add und alle anderen ssh-Befehle jetzt von cmd aus funktionieren. Um den Agenten zu starten, geben Sie einfach ssh-agent ein.

  1. Optionaler Schritt/Problembehandlung: Wenn Sie git verwenden, sollten Sie die Umgebungsvariable GIT_SSH auf die Ausgabe von where ssh setzen, die Sie zuvor ausgeführt haben (z. B. C:\Windows\System32\OpenSSH\ssh.exe). Hiermit werden Inkonsistenzen zwischen der von Ihnen verwendeten Version von ssh (und Ihre Schlüssel werden hinzugefügt/generiert) und der intern von git verwendeten Version gestoppt. Dies sollte Probleme vermeiden, die diesem ähneln

Einige schöne Dinge zu dieser Lösung:

  • Sie müssen den ssh-agent nicht jedes Mal neu starten, wenn Sie Ihren Computer neu starten
  • Identitäten, die Sie hinzugefügt haben (mithilfe von ssh-add), werden nach dem Neustart automatisch hinzugefügt. (Es funktioniert für mich, aber möglicherweise benötigen Sie eine Konfigurationsdatei in Ihrem Ordner c:\Users\User.ssh.)
  • Du brauchst keinen Idioten!
  • Sie können jeden privaten RSA-Schlüssel beim Agenten registrieren. Die andere Lösung erhält nur einen Schlüssel namens id_rsa.

Hoffe das hilft

32
tamj0rd2

Um ssh-add unter Windows auszuführen, könnte man git mit choco install git installieren. Der ssh-add-Befehl wird erkannt, sobald C:\Program Files\Git\usr\bin als PATH-Variable hinzugefügt wurde und die Eingabeaufforderung neu gestartet wurde:

C:\Users\user\Desktop\repository>ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Identity added: .ssh/id_rsa (.ssh/id_rsa)

C:\Users\user\Desktop\repository> 
4
030

ssh-add ist der Befehl, einem lokalen Agenten einen Schlüssel hinzuzufügen. PuTTY hat ein eigenes Agentenprogramm namens pageant , das dieselbe Funktion erfüllt.

4
Mark O'Connor

Die Git-GUI für Windows verfügt über eine fensterbasierte Anwendung, mit der Sie Speicherorte für SSH-Schlüssel und Repo-URL usw. einfügen können:

https://gitforwindows.org/

1
Arne Olafson

Wenn Sie versuchen, einen Schlüssel für die Verwendung von git mit ssh festzulegen, können Sie immer eine Konfiguration für die Identitätsdatei hinzufügen.

vi ~/.ssh/config

Host example.com
IdentityFile ~/.ssh/example_key
0
Brian Ng