it-swarm.com.de

'ssh-keygen' wird nicht als interner oder externer Befehl erkannt

Ich laufe git Push -u Origin master

Es sagt mir, dass "Berechtigung verweigert (öffentlicher Schlüssel) fatal: Das Remote-Ende hat unerwartet aufgelegt"

Dann schaute ich im Internet nach und stellte fest, dass ich einen ssh-Schlüssel für mein Konto bei GitHub generieren musste. Als ich jedoch versuchte, ssh-keygen -t rsa "[email protected]" auszuführen, wurde einfach gesagt, dass ssh-keygen nicht erkannt wird. Ich habe versucht, mkdir C:\ssh auszuführen, aber das hat nicht funktioniert. Wenn es hilft, verwende ich Ruby Rails und bin auf einem Windows-Computer. Könnte mir jemand helfen?

98
user1567909

2012:
ssh-keygen.exe ist Teil von msysgit:

 C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe

wenn Ihr %PATH%C:\path\to\msysgit1.7.11\bin\ enthält, haben Sie ssh-keygen


Update 2015:
ssh-keygen.exe ist Teil von - Git für Windows, dessen releasePortableGit-2.4.3.1-2nd-release-kandidat-64-bit ist. 7z

c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe

Das heißt, der %PATH% muss c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin enthalten (ohne den ssh-keygen.exe)

Wie hatte ich bereits erklärt , Git für Windows wird msysgit bald auslaufen lassen.
Ich habe ausführlich in " warum erhalten Sie, wenn Sie Git 2.0 aus dem Internet herunterladen, immer ein 1.9.4-Installationspaket? " wie diese neue Version auf dem aktuelleren msys2-Projekt basiert .

130
VonC

Ich hatte gerade dieses Problem und dachte, ich würde mitteilen, was ich für einfacher halte. 

Öffnen Sie git-bash und führen Sie denselben Befehl mit dem Zusatz von -C aus, da Sie Ihre E-Mail-Adresse kommentieren: ssh-keygen -t rsa -C "[email protected]"-Befehl. Das ist es.

git-bash sollte bei der Installation von git installiert sein. Wenn Sie es nicht finden können, können Sie C:\Programme\Git\Git Bash überprüfen

Beim ersten Mal konnte ich den .ssh-Ordner nicht erstellen. Daher musste ich eine Standard-Eingabeaufforderung und mkdir C:\Users\yourusername\.ssh öffnen

62
cjaypierson

Ich folgte unten in Windows (mit Git für Windows installiert)

  1. Führen Sie "Git Gui" aus (Start -> Git -> Git Gui)
  2. Klicken Sie auf Hilfe und dann auf SSH-Schlüssel anzeigen
  3. Klicken Sie auf Schlüssel generieren, wenn Sie noch keinen haben

Hinweis: - Dadurch werden die Schlüsseldateien in Ihrem persönlichen Profilordner erstellt.

 enter image description here

38
Dinesh Rajan

Ich habe eine einfache Lösung gefunden, um das zu beheben:

Wechseln Sie in der Eingabeaufforderung in Ihr git\bin-Verzeichnis Und führen Sie dann Ihre Befehle von hier aus aus

9
pirgauthier

Umgebungsvariablen müssen nicht hinzugefügt werden! Öffnen Sie einfach git bash und führen Sie den Befehl ssh-keygen aus.

Link zum Download von git bash hier

8
Bilton Tran

Wenn Sie Git installiert haben und unter C:\Programme installiert sind, gehen Sie wie folgt vor

  1. Gehen Sie zu "C:\Programme\Git"
  2. Führen Sie git-bash.exe aus. Dies öffnet ein neues Fenster
  3. Führen Sie im neuen Bash-Fenster "ssh-keygen -t rsa -C" aus.
  4. Sie werden aufgefordert, die Datei zu speichern, in der der Schlüssel gespeichert werden soll. Geben Sie keinen Wert ein
  5. Dasselbe gilt für die Passphrase (zweimal). Drücken Sie einfach die Eingabetaste
  6. id_rsa und id_rsa.pub werden in Ihrem Home-Ordner unter .ssh generiert 
6
user3233126

Gehen Sie einfach zu heroku.bat und fügen Sie Folgendes hinzu:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% nach @SET PATH=%HEROKU_Ruby%;%PATH%

in meinem Fall ist es unter D:\Programme (x86)\Git\bin. Ändern Sie es in den Pfad, in den Sie Git installiert haben. (Ich habe es einfach mit meinem Pfad gelassen, damit es klarer wird, wie man das schreibt)

4
Vlad

Ich denke, Sie können den Speicherort der Datei ssh-keygen.exe in der Umgebungsvariable PATH hinzufügen. Führen Sie die folgenden Schritte aus: Gehen Sie zu Arbeitsplatz -> Rechtsklick -> Eigenschaften -> Erweiterte Systemeinstellungen -> Klicken Sie auf Umgebungsvariablen. Klicken Sie jetzt auf PATH und dann auf BEARBEITEN. Gehen Sie im Variablenwertfeld zum Ende und hängen Sie '; C:\Pfad\an\msysgit1.7.11\bin\ssh-keygen.exe' an (ohne Anführungszeichen).

3
Nehal J Wani

Sie sollten wahrscheinlich das überprüfen. Windows hat diesen Befehl nicht eingebaut.

tun Sie nichts, geben Sie einfach Ihre Eingabeaufforderung ein

C:\> sh

dann hast du so

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

das muss funktionieren.

1
Osama Saeed

für diejenigen, die nicht die Option BASH HERE wählen. Geben Sie sh in cmd ein, dann sollte ssh-keygen.exe verfügbar sein

0
Zeeshan Khan

Ich habe es behoben, indem ich einfach ssh-keygen zu meinen Umgebungsvariablen hinzufügte.

Für Windows können Sie Folgendes hinzufügen:

SET PATH="C:\Program Files\Git\usr\bin";%PATH%
0
oumina

In meinem Computer war ssh-keygen von Powershell verfügbar.

0
user4757074