Wenn ich versuche, einen SSH-Schlüssel zu erstellen,
sudo ssh-keygen -t rsa
erhalte ich die Anfrage:Enter file in which to save the key (/root/.ssh/id_rsa):
Bei Verwendung sudo
fragen 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 sudo
zu seltsamen Erlaubnisfehlern führen, sollten Sie diese besser untersuchen und beheben - sie werden sich nicht ruhig selbst beheben, wenn Sie nur sudo
die 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 .ssh
eigentlich ist, lass ls -ld
es laufen . Benennen Sie ggf. die Datei / den Link / das Element um oder löschen Sie es vollständig.