Erstellen Sie einen SSH-Schlüssel:
$ ssh-keygen -t rsa –P ""
Verschieben des Schlüssels zum autorisierten Schlüssel:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Erstellen Sie einen SSH-Schlüssel:
$ ssh-keygen -t rsa –P ""
Verschieben des Schlüssels zum autorisierten Schlüssel:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Antworten:
bash: /home/user/.ssh/authorized_keys: No such file or directory
Ein Element des Pfades /home/user/.ssh/
existiert nicht; Die Shell ( bash
) überprüft die Umleitung ( >>
), bevor sie den Befehl ( cat
) ausführt . Wenn /home/user
es existiert und Sie versuchen dies:
cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this
Sie erhalten jetzt:
cat: /home/user/.ssh/id_rsa.pub: No such file or directory
Da sich diese Datei nicht an diesem Ort befinden kann, wenn sie /home/user/.ssh/
zunächst nicht vorhanden war.
Sie folgen einigen Anweisungen, die möglicherweise einige Teile übersprungen haben. So erstellen Sie das Verzeichnis:
mkdir $HOME/.ssh
chmod 700 $HOME/.ssh
Allerdings id_rsa.pub
wird nicht da sein. Es wird überall dort sein, wo Sie den ssh-keygen
Befehl ausgeführt haben.
Stellen Sie sicher, dass Sie als der Benutzer angemeldet sind, für den Sie zuerst den SSH-Schlüssel erstellen möchten (oder seien Sie bereit, die Pfade im Befehl zum richtigen Ausgangsverzeichnis zu ändern).
Dann erstellen Sie einfach das Verzeichnis:
mkdir ~/.ssh
Erstellen Sie die Datei mit dem cat
oben aufgeführten Befehl. Vergessen Sie dann nicht, die Berechtigungen richtig einzustellen:
chmod 400 ~/.ssh/authorized_keys
Möglicherweise möchten Sie sicherstellen, dass das Verzeichnis .ssh auch über die entsprechenden Berechtigungen verfügt.
chmod 700 ~/.ssh
Wenn möglich, ermutige ich die Leute immer, das Kommandozeilen-Tool zu verwenden ssh-copy-id
.
$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
Wenn Sie nur Ihren öffentlichen Standard-SSH-Schlüssel auf einen Remote-Server kopieren möchten, führen Sie einfach den folgenden Befehl aus:
$ ssh-copy-id user@remoteserver
Ich zeige ein aktuelles vollständiges Beispiel für die Verwendung dieses Tools in diesen Fragen und Antworten mit dem Titel: Eine SSH-Verbindung kann nicht mit rsync geteilt werden .
Dies kann auch fehlschlagen, wenn Sie beim Erstellen des Schlüssels mit ssh-keygen
einen Dateinamen angeben. Ich habe einen Namen eingegeben my-ssh-file-name
und er hat den Schlüssel /Users/MyUserName
anstelle des .ssh
Ordners geschrieben. Wenn Sie den Dateinamen leer lassen, wird .ssh
wie erwartet geschrieben.
-f ~/.ssh/custom-key-name