Speichern des SSH-Schlüssels zu Hause anstelle von root

605
steve zissou

Wenn ich versuche, einen SSH-Schlüssel zu erstellen, sudo ssh-keygen -t rsaerhalte ich die Anfrage:

Enter file in which to save the key (/root/.ssh/id_rsa): 

Ich möchte jedoch, dass die Datei in gespeichert wird /home/user2/.ssh/id_rsa. Wenn ich dieses Verzeichnis eingebe, erhalte ich folgende Fehlermeldung:

Saving key "/home/user2/.ssh/id_rsa" failed: No such file or directory

Jeder Versuch, ein anderes Verzeichnis einzugeben, gibt einen Fehler zurück.

Wie kann ich den Schlüssel generieren /home/user2/.ssh/id_rsa?

EDIT: Wenn ich entferne, sudobekomme ich dieses Problem:

Generating public/private rsa key pair. Enter file in which to save the key (/home/hduser/.ssh/id_rsa):  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Saving key "/home/hduser/.ssh/id_rsa" failed: Not a directory 

Aber sollte SSH das Verzeichnis nicht erstellen?

1
Existiert das Verzeichnis `/ home / user2 / .ssh /`? Kamil Maciorowski vor 6 Jahren 0
Warum nennst du es überhaupt mit "sudo"? gronostaj vor 6 Jahren 1
@ KamilMaciorowski Ich dachte, dass .ssh automatisch erstellt wird? steve zissou vor 6 Jahren 0
@gronostaj Ich bin mir nicht sicher, ich habe es von einem Leitfaden erhalten. Ich werde meine Frage bearbeiten, um die Ausgabe zu geben, wenn ich `sudo` nicht verwende steve zissou vor 6 Jahren 0

1 Antwort auf die Frage

1
grawity

Wenn ich versuche, einen SSH-Schlüssel zu erstellen, sudo ssh-keygen -t rsaerhalte ich die Anfrage:

Enter file in which to save the key (/root/.ssh/id_rsa): 

Bei Verwendung sudofragen Sie, ob Sie das Programm unter einem anderen Konto ausführen möchten, insbesondere unter root. Das keygen wird also als root ausgeführt, erstellt einen zu root gehörenden Schlüssel und verwendet natürlich auch das Home-Verzeichnis von root, um diesen Schlüssel zu speichern.

Um Dateien zu erstellen, die zu Ihnen gehören (und Ihre eigenen Pfade usw. verwenden), verwenden Sie dies nicht sudo.

Und wenn Sie nicht sudozu seltsamen Erlaubnisfehlern führen, sollten Sie diese besser untersuchen und beheben - sie werden sich nicht ruhig selbst beheben, wenn Sie nur sudodie ganze Sache machen. das macht es oft nur schlimmer.

Wenn ich sudo entferne, bekomme ich dieses Problem:

Generating public/private rsa key pair. Enter file in which to save the key (/home/hduser/.ssh/id_rsa):  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Saving key "/home/hduser/.ssh/id_rsa" failed: Not a directory 

Aber sollte SSH das Verzeichnis nicht erstellen?

Es sollte. Was die Fehlermeldung eigentlich bedeutet, ist, dass es /home/hduser/.ssh bereits existiert - es ist etwas anderes als ein Verzeichnis. Es kann sich um eine Datei, einen defekten Symlink, einen Symlink zu einer Datei usw. handeln.

Nochmals: untersuchen Sie die Situation. Um zu sehen, was .ssheigentlich ist, lass ls -ldes laufen . Benennen Sie ggf. die Datei / den Link / das Element um oder löschen Sie es vollständig.

Vielen Dank! Es hat funktioniert, als ich die Datei entfernt habe. Übrigens: Wie sagt mir 'ls -ld', was die Datei eigentlich ist? sagt mir das `.` vor dem Dateinamen nicht, dass es sich um ein verstecktes Verzeichnis handelt? steve zissou vor 6 Jahren 0
Nein. Das `.` vor dem Dateinamen zeigt nur an, dass es sich um ein verstecktes Objekt handelt, bedeutet aber keinesfalls, dass es sich um ein Verzeichnis handelt. Der tatsächliche Elementtyp ist das 1. Zeichen der Ausgabe von ls -l (vor den Berechtigungsindikatoren). grawity vor 6 Jahren 0