it-swarm.com.de

Das Speichern des SSH-Schlüssels schlägt fehl

ich habe gerade ein Git-Tutorial gestartet und komme zu einem Deadend: Ich versuche, einen RSA-Key-Part zu generieren und es schlägt fehl ...

ssh-keygen -t rsa -C "[email protected]"

Und ich habe das bekommen:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):
enter passphrase:
enter same passphrase again:
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory.
Saving the key failed:/c/Users/Eva/.ssh/id_rsa.

Ich habe versucht, in einem anderen Ordner zu speichern, und es ging OK. aber jetzt mache ich den Befehl ssh -T [email protected] und es gibt mir den Fehler permisson denied (publickey). 

22
Eva Dias

Wenn Sie es vorziehen, eine GUI zum Erstellen der Schlüssel zu verwenden

  1. Verwenden Sie PuTTY Gen, um einen Schlüssel zu generieren
  2. Exportieren Sie den Schlüssel als offenen SSH-Schlüssel
  3. Wie von @VonC erwähnt, erstellen Sie das .ssh-Verzeichnis, und Sie können den privaten und den öffentlichen Schlüssel dort ablegen
  4. Oder verwenden Sie ein GUI-Programm (wie Tortoise Git ), um die SSH-Schlüssel zu verwenden

Eine exemplarische Vorgehensweise zu den oben genannten Schritten finden Sie unter http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html

11
First Zero

Wenn Sie Windows verwenden, ist der Standardpfad im Unix-Stil von ssh-keygen fehlerhaft.

In Zeile 2 heißt es Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):. Dieser vollständige Dateiname in den Klammern ist der Standard, offensichtlich kann Windows nicht auf eine solche Datei zugreifen. Wenn Sie das Windows-Äquivalent (c:\Users\Eva\.ssh\id_rsa) eingeben, sollte es funktionieren.

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:\Users\Administrator\.ssh\id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator\.ssh\id_rsa.
Your public key has been saved in C:\Users\Administrator\.ssh\id_rsa.pub.
The key fingerprint is:
... [email protected]
The key's randomart image is:...`

Ich weiß, dass dies ein alter Thread ist, aber ich dachte, die Antwort könnte anderen helfen.

24
csaba.sulyok

Es sieht so aus, als würden Sie diesen Befehl von einer DOS-Sitzung aus ausführen (siehe diesen Thread ). Das bedeutet, dass Sie vor diesem Befehl das Verzeichnis .ssh erstellen müssen.

Oder Sie können es aus der bash-Sitzung (Teil der msysgit-Distribution) ausführen, und es sollte funktionieren.

10
VonC

Ich hatte das gleiche Problem. Ich musste den vollständigen Pfad mit Windows-Konventionen angeben. In diesem Schritt:

Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):

Geben Sie den folgenden Wert an:

c:\users\eva\.ssh\id_rsa

8
Jared

Sie müssen den .ssh-Ordner selbst erstellen, um die ssh-Schlüssel zu speichern.

Übrigens habe ich diesen Pfadstil verwendet: C:/Users/you/.ssh/id_rsa

3
whenov

Ich hatte gerade eine Weile mit dem gleichen Problem zu kämpfen (mit Mac). Folgendes habe ich getan und es hat endlich funktioniert:
(1) Vergewissern Sie sich, dass das Verzeichnis .ssh vorhanden ist:

#show all files including hidden
ls -a 

(2) Übernehmen Sie alle Standardwerte, indem Sie nur an der Eingabeaufforderung die Eingabetaste drücken

Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

Sie sollten eine Nachricht erhalten:

Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
The key fingerprint is:
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected]
The key's randomart image is:XXXXX

PS Wenn Sie Git für Rails konfigurieren, gehen Sie wie folgt vor ( source ):

git config --global color.ui true
git config --global user.name "yourusername"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected]" 

(Übernehmen Sie dann alle Standardeinstellungen, indem Sie die Eingabetaste drücken.)

2
Tanya Gupta

In Windows musste ich zuerst die Umgebungsvariable HOME erstellen, die auf mein Benutzerprofil (C:\Users\<name>) oder auf ein beliebiges Verzeichnis zeigt.

Starten Sie dann ein neues Befehlszeilenfenster, erstellen Sie ein .ssh-Verzeichnis in Ihrem Benutzerprofil oder wählen Sie das Verzeichnis mit dem Befehl mkdir ".ssh" aus.

Danach konnte ich das ssh-keygen ohne Pfadprobleme verwenden.

1
Mario Neubauer

Ich hatte das gleiche Problem. Lösung unter Windows:

  1. öffne das Startmenü und tippe cmd ein
  2. Richtig und wähle als Administrator ausführen
  3. Geben Sie dann cd Users_YOURUSERNAME_\Ersetzen Sie " YOURUSERNAME " durch Ihren Windows-Kontonamen
  4. Der Typ: mkdir .ssh

Dadurch wird ein SSH-Ordner erstellt.

0
Richardd

Ich benutzte bash an Fenstern, die mit git kamen. Das Problem war, ich nahm an, dass die Tilde (~), die ich benutzte, um meinen Heimatpfad anzuzeigen, sich richtig ausdehnen würde. Es funktioniert zwar bei der Verwendung von cd, aber um diesen Fehler zu beheben, musste ich nur den absoluten Pfad angeben.

0
Despertar

Ihre Methode sollte auf einem Mac problemlos funktionieren, unter Windows sind jedoch zwei zusätzliche Schritte erforderlich.

  1. Erstellen Sie einen neuen Ordner am gewünschten Speicherort und nennen Sie ihn ".ssh". (Beachten Sie den schließenden Punkt - dieser wird verschwinden, ist jedoch erforderlich, um einen Ordner zu erstellen, der mit "." beginnt.)
  2. Verwenden Sie bei entsprechender Aufforderung das Dateipfadformat C: /Users/NAME/.ssh/id_rsa (beachten Sie keinen schließenden Punkt in .ssh).

Das Speichern des id_rsa-Schlüssels an diesem Ort sollte den Berechtigungsfehler beheben.

0