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/useres 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.pubwird nicht da sein. Es wird überall dort sein, wo Sie den ssh-keygenBefehl 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 catoben 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-keygeneinen Dateinamen angeben. Ich habe einen Namen eingegeben my-ssh-file-nameund er hat den Schlüssel /Users/MyUserNameanstelle des .sshOrdners geschrieben. Wenn Sie den Dateinamen leer lassen, wird .sshwie erwartet geschrieben.
-f ~/.ssh/custom-key-name