Die Anweisungen in help.ubuntu.com/community/SSH/OpenSSH/Configuring empfehlen, die Passwortauthentifizierung zu deaktivieren, sodass „es nur möglich ist, eine Verbindung von Computern herzustellen, die Sie ausdrücklich genehmigt haben“. Aber sie sagen nicht, wie man einen Computer speziell genehmigt. Wie mache ich das?
Akzeptierte Antwort:
Führen Sie für jeden Benutzer, der Zugriff auf den Server haben möchte, in einem Terminal Folgendes aus:
ssh-keygen
ssh-copy-id <username>@<serverIPorDNSname>
Es wird Sie fragen, wo es gespeichert werden soll, die Standardeinstellung ist in Ordnung. Sie werden aufgefordert, eine Passphrase einzugeben. Dies dient der Verschlüsselung des Schlüssels für den Fall, dass der Computer gestohlen oder kompromittiert wird. Wenn Sie keine Passphrase wünschen, lassen Sie beide Eingabeaufforderungen für die Passphrase leer.
Der erste Befehl erstellt einen ssh-Schlüssel für den aktuellen Benutzer, auf dem er ausgeführt wird. Der zweite Befehl ssh geht in den Server und fügt den Schlüssel des aktuellen Benutzers zur Liste des Servers hinzu, wer sich anmelden darf. Da ssh-copy-id ssh verwendet, müssen Sie dies tun, bevor Sie Passwort-Logins deaktivieren.
SSH-Schlüssel sind zwei zusammenpassende Hälften. Die eine Hälfte wird allen erzählt, die andere bleibt geheim. Unter Verwendung eines mathematischen Algorithmus kann die öffentliche Hälfte verwendet werden, um mit dem privaten Schlüssel verschlüsselte Daten zu entschlüsseln. Wenn Daten mit dem öffentlichen Schlüssel erfolgreich entschlüsselt werden, wissen Sie zweifelsfrei, dass die private Hälfte des Schlüssels sie verschlüsselt hat. Wenn Sie sich also mit einem SSH-Schlüssel anmelden, sendet der Client eine Nachricht (mit dem privaten Schlüssel verschlüsselt), die im Grunde sagt:„Lass mich rein“. Der Server prüft anhand des öffentlichen Schlüssels und wenn sich der öffentliche Schlüssel in der Liste der erlaubten Computer befindet, ist die Anmeldung erfolgreich.
ssh-copy-id kopiert (unter Verwendung von ssh) die öffentliche Hälfte in die Serverliste, welche Schlüssel zur Anmeldung zugelassen sind (diese Liste wird unter /home/cat /media/USB/stick/path/to/id_rsa.pub >>/home/<username>/.ssh/authorized_keys2
ausführen auf dem Server.)